Fixed mask alignment issue

main
Benjamin Nisker 2021-02-28 17:44:14 +01:00
parent 943d5a89aa
commit 5ee162f2c6
No known key found for this signature in database
GPG Key ID: 68DA9A0AA141BC62
2 changed files with 8 additions and 5 deletions

View File

@ -12,3 +12,4 @@ ACTIVE_LAYER_BTN_STYLE = "border: 1px solid black; padding: 5px; background-colo
KEYBOARD_WIDGET_PADDING = 5
KEYBOARD_WIDGET_MASK_PADDING = 3
KEYBOARD_WIDGET_MASK_HEIGHT = 0.65

View File

@ -4,7 +4,7 @@ from PyQt5.QtGui import QPainter, QColor, QPainterPath, QTransform, QBrush, QPol
from PyQt5.QtWidgets import QWidget, QToolTip, QApplication
from PyQt5.QtCore import Qt, QSize, QRect, QPointF, pyqtSignal, QEvent, QRectF
from constants import KEY_SIZE_RATIO, KEY_SPACING_RATIO, KEYBOARD_WIDGET_PADDING, KEYBOARD_WIDGET_MASK_PADDING
from constants import KEY_SIZE_RATIO, KEY_SPACING_RATIO, KEYBOARD_WIDGET_PADDING, KEYBOARD_WIDGET_MASK_PADDING, KEYBOARD_WIDGET_MASK_HEIGHT
class KeyWidget:
@ -48,7 +48,7 @@ class KeyWidget:
self.w2 = size * self.desc.width2 - spacing
self.h2 = size * self.desc.height2 - spacing
self.bbox = self.calculate_bbox(QRectF(self.x, self.y, self.w, self.h))
self.bbox = self.calculate_bbox(self.rect)
self.polygon = QPolygonF(self.bbox + [self.bbox[0]])
self.draw_path = self.calculate_draw_path()
self.draw_path2 = self.calculate_draw_path2()
@ -56,9 +56,11 @@ class KeyWidget:
# calculate areas where the inner keycode will be located
# nonmask = outer (e.g. Rsft_T)
# mask = inner (e.g. KC_A)
self.nonmask_rect = QRectF(self.x, self.y, self.w, self.h * (1 - 0.65))
self.mask_rect = QRectF(self.x + KEYBOARD_WIDGET_MASK_PADDING, self.y + self.h * (1 - 0.65),
self.w - 2 * KEYBOARD_WIDGET_MASK_PADDING, self.h * 0.65 - KEYBOARD_WIDGET_MASK_PADDING)
self.nonmask_rect = QRectF(int(self.x), int(self.y), int(self.w), int(self.h * (1 - KEYBOARD_WIDGET_MASK_HEIGHT)))
self.mask_rect = QRectF(int(self.x + KEYBOARD_WIDGET_MASK_PADDING),
int(self.y) + int(self.h * (1 - KEYBOARD_WIDGET_MASK_HEIGHT)),
int(self.w - 2 * KEYBOARD_WIDGET_MASK_PADDING),
int(self.h * KEYBOARD_WIDGET_MASK_HEIGHT - KEYBOARD_WIDGET_MASK_PADDING) + 1)
self.mask_bbox = self.calculate_bbox(self.mask_rect)
self.mask_polygon = QPolygonF(self.mask_bbox + [self.mask_bbox[0]])