fix issue w resizing on far ends and min size for blobcat
This commit is contained in:
parent
9d6d00165a
commit
3b0c5e52e2
4 changed files with 28 additions and 18 deletions
|
@ -61,7 +61,9 @@ function createBlob() {
|
||||||
content: "<div id='blobcat'></div>",
|
content: "<div id='blobcat'></div>",
|
||||||
onDestroy: destroyBlob,
|
onDestroy: destroyBlob,
|
||||||
height: 450,
|
height: 450,
|
||||||
typeable: false
|
typeable: false,
|
||||||
|
minWidth: 350,
|
||||||
|
minHeight: 400
|
||||||
});
|
});
|
||||||
blobcatElement = document.getElementById("blobcat");
|
blobcatElement = document.getElementById("blobcat");
|
||||||
}
|
}
|
||||||
|
|
15
js/index.js
15
js/index.js
|
@ -16,15 +16,13 @@ function incrementZIndex(windowID, focus = false) {
|
||||||
}
|
}
|
||||||
function edgeMoveEvent(x, y, pos, windowID) {
|
function edgeMoveEvent(x, y, pos, windowID) {
|
||||||
let w = WINDOWS[windowID];
|
let w = WINDOWS[windowID];
|
||||||
if (x - w.vars.mouseOffsetX < 0) {
|
|
||||||
x = w.vars.mouseOffsetX;
|
|
||||||
}
|
|
||||||
if (y - w.vars.mouseOffsetY < 0) {
|
|
||||||
y = w.vars.mouseOffsetY;
|
|
||||||
}
|
|
||||||
if (pos == "top" || pos.startsWith("top-")) {
|
if (pos == "top" || pos.startsWith("top-")) {
|
||||||
w.height = Math.max(-(y - w.vars.mouseOffsetY - w.vars.startingPosY) + w.vars.startingHeight, w.minHeight);
|
w.height = Math.max(-(y - w.vars.mouseOffsetY - w.vars.startingPosY) + w.vars.startingHeight, w.minHeight);
|
||||||
w.posY = Math.max(w.vars.startingHeight - w.height + w.vars.startingPosY, 0);
|
w.posY = Math.max(w.vars.startingHeight - w.height + w.vars.startingPosY, 0);
|
||||||
|
if (w.posY < 0) {
|
||||||
|
w.height -= w.posY;
|
||||||
|
w.posY = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (pos == "bottom" || pos.startsWith("bottom-")) {
|
else if (pos == "bottom" || pos.startsWith("bottom-")) {
|
||||||
w.height = Math.max(y - w.vars.mouseOffsetY - w.vars.startingPosY + w.vars.startingHeight, w.minHeight);
|
w.height = Math.max(y - w.vars.mouseOffsetY - w.vars.startingPosY + w.vars.startingHeight, w.minHeight);
|
||||||
|
@ -32,8 +30,13 @@ function edgeMoveEvent(x, y, pos, windowID) {
|
||||||
if (pos == "left" || pos.endsWith("-left")) {
|
if (pos == "left" || pos.endsWith("-left")) {
|
||||||
w.width = Math.max(-(x - w.vars.mouseOffsetX - w.vars.startingPosX) + w.vars.startingWidth, w.minWidth);
|
w.width = Math.max(-(x - w.vars.mouseOffsetX - w.vars.startingPosX) + w.vars.startingWidth, w.minWidth);
|
||||||
w.posX = Math.max(w.vars.startingWidth - w.width + w.vars.startingPosX, 0);
|
w.posX = Math.max(w.vars.startingWidth - w.width + w.vars.startingPosX, 0);
|
||||||
|
if (w.posX < 0) {
|
||||||
|
w.width -= w.posX;
|
||||||
|
w.posX = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (pos == "right" || pos.endsWith("-right")) {
|
else if (pos == "right" || pos.endsWith("-right")) {
|
||||||
|
console.log(x - w.vars.mouseOffsetX - w.vars.startingPosX + w.vars.startingWidth, w.minWidth);
|
||||||
w.width = Math.max(x - w.vars.mouseOffsetX - w.vars.startingPosX + w.vars.startingWidth, w.minWidth);
|
w.width = Math.max(x - w.vars.mouseOffsetX - w.vars.startingPosX + w.vars.startingWidth, w.minWidth);
|
||||||
}
|
}
|
||||||
if (w.posX + w.width + _windowPaddingX > innerWidth) {
|
if (w.posX + w.width + _windowPaddingX > innerWidth) {
|
||||||
|
|
|
@ -80,7 +80,9 @@ function createBlob(): void {
|
||||||
content: "<div id='blobcat'></div>",
|
content: "<div id='blobcat'></div>",
|
||||||
onDestroy: destroyBlob,
|
onDestroy: destroyBlob,
|
||||||
height: 450,
|
height: 450,
|
||||||
typeable: false
|
typeable: false,
|
||||||
|
minWidth: 350,
|
||||||
|
minHeight: 400
|
||||||
});
|
});
|
||||||
|
|
||||||
blobcatElement = document.getElementById("blobcat") as HTMLDivElement;
|
blobcatElement = document.getElementById("blobcat") as HTMLDivElement;
|
||||||
|
|
23
ts/index.ts
23
ts/index.ts
|
@ -31,12 +31,14 @@ function incrementZIndex(windowID: string, focus: boolean=false): void {
|
||||||
function edgeMoveEvent(x: number, y: number, pos: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | string, windowID: string): void {
|
function edgeMoveEvent(x: number, y: number, pos: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | string, windowID: string): void {
|
||||||
let w: _winConf = WINDOWS[windowID];
|
let w: _winConf = WINDOWS[windowID];
|
||||||
|
|
||||||
if (x - w.vars.mouseOffsetX < 0) { x = w.vars.mouseOffsetX; }
|
|
||||||
if (y - w.vars.mouseOffsetY < 0) { y = w.vars.mouseOffsetY; }
|
|
||||||
|
|
||||||
if (pos == "top" || pos.startsWith("top-")) {
|
if (pos == "top" || pos.startsWith("top-")) {
|
||||||
w.height = Math.max(-(y - w.vars.mouseOffsetY - w.vars.startingPosY) + w.vars.startingHeight, w.minHeight);
|
w.height = Math.max(-(y - w.vars.mouseOffsetY - w.vars.startingPosY) + w.vars.startingHeight, w.minHeight);
|
||||||
w.posY = Math.max(w.vars.startingHeight - w.height + w.vars.startingPosY, 0);
|
w.posY = Math.max(w.vars.startingHeight - w.height + w.vars.startingPosY, 0);
|
||||||
|
|
||||||
|
if (w.posY < 0) {
|
||||||
|
w.height -= w.posY;
|
||||||
|
w.posY = 0;
|
||||||
|
}
|
||||||
} else if (pos == "bottom" || pos.startsWith("bottom-")) {
|
} else if (pos == "bottom" || pos.startsWith("bottom-")) {
|
||||||
w.height = Math.max(y - w.vars.mouseOffsetY - w.vars.startingPosY + w.vars.startingHeight, w.minHeight);
|
w.height = Math.max(y - w.vars.mouseOffsetY - w.vars.startingPosY + w.vars.startingHeight, w.minHeight);
|
||||||
}
|
}
|
||||||
|
@ -44,17 +46,18 @@ function edgeMoveEvent(x: number, y: number, pos: "top" | "bottom" | "left" | "r
|
||||||
if (pos == "left" || pos.endsWith("-left")) {
|
if (pos == "left" || pos.endsWith("-left")) {
|
||||||
w.width = Math.max(-(x - w.vars.mouseOffsetX - w.vars.startingPosX) + w.vars.startingWidth, w.minWidth);
|
w.width = Math.max(-(x - w.vars.mouseOffsetX - w.vars.startingPosX) + w.vars.startingWidth, w.minWidth);
|
||||||
w.posX = Math.max(w.vars.startingWidth - w.width + w.vars.startingPosX, 0);
|
w.posX = Math.max(w.vars.startingWidth - w.width + w.vars.startingPosX, 0);
|
||||||
|
|
||||||
|
if (w.posX < 0) {
|
||||||
|
w.width -= w.posX;
|
||||||
|
w.posX = 0;
|
||||||
|
}
|
||||||
} else if (pos == "right" || pos.endsWith("-right")) {
|
} else if (pos == "right" || pos.endsWith("-right")) {
|
||||||
|
console.log(x - w.vars.mouseOffsetX - w.vars.startingPosX + w.vars.startingWidth, w.minWidth);
|
||||||
w.width = Math.max(x - w.vars.mouseOffsetX - w.vars.startingPosX + w.vars.startingWidth, w.minWidth);
|
w.width = Math.max(x - w.vars.mouseOffsetX - w.vars.startingPosX + w.vars.startingWidth, w.minWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (w.posX + w.width + _windowPaddingX > innerWidth ) {
|
if (w.posX + w.width + _windowPaddingX > innerWidth ) { w.width = Math.max(innerWidth - w.posX - _windowPaddingX, w.minWidth); }
|
||||||
w.width = Math.max(innerWidth - w.posX - _windowPaddingX, w.minWidth);
|
if (w.posY + w.height + _windowPaddingY > innerHeight) { w.height = Math.max(innerHeight - w.posY - _windowPaddingY, w.minHeight); }
|
||||||
}
|
|
||||||
|
|
||||||
if (w.posY + w.height + _windowPaddingY > innerHeight) {
|
|
||||||
w.height = Math.max(innerHeight - w.posY - _windowPaddingY, w.minHeight);
|
|
||||||
}
|
|
||||||
|
|
||||||
w.element.style.left = `${w.posX}px`;
|
w.element.style.left = `${w.posX}px`;
|
||||||
w.element.style.top = `${w.posY}px`;
|
w.element.style.top = `${w.posY}px`;
|
||||||
|
|
Loading…
Reference in a new issue