Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoDEmanX <codemanx@gmx.de>2014-03-03 23:45:51 +0400
committerCoDEmanX <codemanx@gmx.de>2014-03-03 23:47:48 +0400
commit20a4a567f961dfd1aaae083ca5aea3d48bfbf4b7 (patch)
treec496a9c4db6a191eb99c5be57e979efb47989f10
parent3f7ba64b762b14545b91d95700be9420fe3905fd (diff)
Screencast Keys Addon: Improved mouse silhouette, fixed box width to fit to text, changed draw callback order to draw text on top of box.
-rw-r--r--space_view3d_screencast_keys.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/space_view3d_screencast_keys.py b/space_view3d_screencast_keys.py
index a7637afc..f920e337 100644
--- a/space_view3d_screencast_keys.py
+++ b/space_view3d_screencast_keys.py
@@ -55,7 +55,7 @@ def getDisplayLocation(context):
def getBoundingBox(current_width, current_height, new_text):
- w,h = blf.dimensions(0,new_text)
+ w, h = blf.dimensions(0, new_text)
if w > current_width:
current_width = w
current_height += h
@@ -101,7 +101,8 @@ def draw_callback_px_text(self, context):
if mouse_size > font_size*row_count and not sc.screencast_keys_mouse_position == 'right':
shift = (mouse_size - font_size*row_count) / 2
- text_width, text_height = 0,0
+ text_width = 0
+ text_height = 0
row_count = 0
alpha = 1.0
@@ -169,12 +170,14 @@ def draw_callback_px_box(self, context):
if sc.screencast_keys_mouse_position == 'right':
mouse_size = 25
- box_draw = sc.screencast_keys_box_draw
+ box_draw = sc.screencast_keys_box_draw
pos_x, pos_y = getDisplayLocation(context)
# get text-width/height to resize the box
blf.size(0, sc.screencast_keys_font_size, 72)
- box_width, box_height = sc.screencast_keys_box_width,0
+ box_width_user = sc.screencast_keys_box_width
+ box_width = 0
+ box_height = 0
final = 0
row_count = 0
box_hide = sc.screencast_keys_box_hide
@@ -199,7 +202,12 @@ def draw_callback_px_box(self, context):
padding_y = 12
x0 = max(0, pos_x - padding_x)
y0 = max(0, pos_y - padding_y)
- x1 = pos_x + box_width + mouse_size * MOUSE_RATIO * 1.3 + padding_x
+ if sc.screencast_keys_mouse_position == 'left':
+ box_width += mouse_size * MOUSE_RATIO * bool(row_count)
+ x1 = max(box_width, box_width_user) + pos_x + mouse_size * MOUSE_RATIO + padding_x
+ else:
+ x1 = max(box_width, box_width_user) + pos_x + padding_x
+
y1 = pos_y + max(mouse_size, font_size * row_count) + padding_y
positions = [[x0, y0], [x0, y1], [x1, y1], [x1, y0]]
settings = [[bgl.GL_QUADS, min(0.0, box_color_alpha)], [bgl.GL_LINE_LOOP, min(0.0, box_color_alpha)]]
@@ -224,8 +232,8 @@ def draw_callback_px_box(self, context):
def draw_callback_px(self, context):
- draw_callback_px_text(self, context)
draw_callback_px_box(self, context)
+ draw_callback_px_text(self, context)
def draw_last_operator(context, pos_x, pos_y):
@@ -339,7 +347,7 @@ def draw_mouse(context, shape, style, alpha):
def get_shape_data(shape):
data = []
if shape == "mouse":
- data = [[[0.404, 0.032, 0.0],
+ data = [[[0.284, 0.002, 0.0],
[0.096, 0.002, 0.0],
[0.059, 0.126, 0.0],
[0.04, 0.213, 0.0]],
@@ -362,7 +370,7 @@ def get_shape_data(shape):
[[0.499, 0.213, 0.0],
[0.490, 0.126, 0.0],
[0.432, 0.002, 0.0],
- [0.404, 0.032, 0.0]]]
+ [0.284, 0.002, 0.0]]]
elif shape == "left_button":
data = [[[0.154, 0.763, 0.0],
[0.126, 0.755, 0.0],