Skip to content

Commit

Permalink
Merge pull request #10 from ionthedev/Dev
Browse files Browse the repository at this point in the history
Version 0.8.0
  • Loading branch information
ionthedev authored Oct 10, 2023
2 parents 4345521 + f36ae31 commit 1b1cada
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 16 deletions.
30 changes: 15 additions & 15 deletions sprytile_gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ def set_zoom_level(self, context, zoom_shift):
region = context.region
zoom_level = context.scene.sprytile_ui.zoom
zoom_level = self.calc_zoom(region, zoom_level, zoom_shift)
display_size = VIEW3D_OP_SprytileGui.display_size
display_size = VIEW3D_OP_SprytileGui.display_size/4

calc_size = round(display_size[0] * zoom_level), round(display_size[1] * zoom_level)
height_min = min(128, display_size[1])
Expand All @@ -308,13 +308,13 @@ def set_zoom_level(self, context, zoom_shift):

# Snap to edges if previously snapped
if is_snap_min_x:
display_offset.x = display_min.x
display_offset.x = display_min.x/3
if is_snap_min_y:
display_offset.y = display_min.y
display_offset.y = display_min.y/3
if is_snap_max_x:
display_offset.x = display_max.x
display_offset.x = display_max.x*3
if is_snap_max_y:
display_offset.y = display_max.y
display_offset.y = display_max.y*3

context.scene.sprytile_ui.palette_pos[0] = int(display_offset.x)
context.scene.sprytile_ui.palette_pos[1] = int(display_offset.y)
Expand Down Expand Up @@ -345,7 +345,7 @@ def calc_zoom(self, region, zoom, steps):
count += step

if VIEW3D_OP_SprytileGui.display_size[1] > region.height:
zoom = min(region.height / VIEW3D_OP_SprytileGui.display_size[1], zoom)
zoom = min(region.height*2 / VIEW3D_OP_SprytileGui.display_size[1], zoom)

return zoom

Expand All @@ -356,7 +356,7 @@ def get_zoom_level(self, context):
display_size = VIEW3D_OP_SprytileGui.display_size
target_height = region.height * 0.35

zoom_level = round(region.height / display_size[1])
zoom_level = round(region.height*2 / display_size[1])

if zoom_level <= 0:
zoom_level = self.calc_zoom(region, 1, -1)
Expand All @@ -379,8 +379,8 @@ def calc_palette_pos(self, context):

size_half = Vector((int(display_size[0]/2), int(display_size[1]/2)))

display_min = Vector((display_pad_y + size_half.x, display_pad_y + size_half.y))
display_max = Vector((context.region.width - display_pad_x - size_half.x, context.region.height - display_pad_y - size_half.y))
display_min = Vector((display_pad_y/3 + size_half.x/3, display_pad_y/3 + size_half.y/3))
display_max = Vector((context.region.width*3 - display_pad_x - size_half.x, context.region.height*3 - display_pad_y - size_half.y))

display_offset = Vector((context.scene.sprytile_ui.palette_pos[0], context.scene.sprytile_ui.palette_pos[1]))

Expand Down Expand Up @@ -511,9 +511,9 @@ def handle_ui(self, context, event):
display_offset = mouse_pt + VIEW3D_OP_SprytileGui.sel_origin

display_offset.x = max(display_offset.x, display_min.x)
display_offset.x = min(display_offset.x, display_max.x)
display_offset.x = min(display_offset.x, display_max.x/4)
display_offset.y = max(display_offset.y, display_min.y)
display_offset.y = min(display_offset.y, display_max.y)
display_offset.y = min(display_offset.y, display_max.y/4)

context.scene.sprytile_ui.palette_pos[0] = int(display_offset.x)
context.scene.sprytile_ui.palette_pos[1] = int(display_offset.y)
Expand Down Expand Up @@ -1387,12 +1387,12 @@ def set_zoom_level(self, context, zoom_shift):
display_size = VIEW3D_OP_SprytileGui.display_size

calc_size = round(display_size[0] * zoom_level), round(display_size[1] * zoom_level)
height_min = min(128, display_size[1])
height_min = min(512, display_size[1])
while calc_size[1] < height_min:
zoom_level = self.calc_zoom(region, zoom_level, 1)
calc_size = round(display_size[0] * zoom_level), round(display_size[1] * zoom_level)

while calc_size[0] > region.width or calc_size[1] > region.height:
while calc_size[0] > region.width*3 or calc_size[1] > region.height*3:
zoom_level = self.calc_zoom(region, zoom_level, -1)
calc_size = round(display_size[0] * zoom_level), round(display_size[1] * zoom_level)

Expand Down Expand Up @@ -1481,8 +1481,8 @@ def calc_palette_pos(self, context):

size_half = Vector((int(display_size[0]/2), int(display_size[1]/2)))

display_min = Vector((display_pad_y + size_half.x, display_pad_y + size_half.y))
display_max = Vector((context.region.width - display_pad_x - size_half.x, context.region.height - display_pad_y - size_half.y))
display_min = Vector((display_pad_y/3 + size_half.x/3, display_pad_y/3 + size_half.y/3))
display_max = Vector((context.region.width*3 - display_pad_x*3 - size_half.x*3, context.region.height*3 - display_pad_y*3 - size_half.y*3))

display_offset = Vector((context.scene.sprytile_ui.palette_pos[0], context.scene.sprytile_ui.palette_pos[1]))

Expand Down
14 changes: 13 additions & 1 deletion sprytile_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def get_current_grid_vectors(scene, with_rotation=True):


def grid_is_single_pixel(grid):
is_pixel = grid.grid[0] == 1 and grid.grid[1] == 1 and grid_no_spacing(grid)
is_pixel = grid.grid[0] == 0 and grid.grid[1] == 0 and grid_no_spacing(grid)
return is_pixel


Expand Down Expand Up @@ -1234,6 +1234,8 @@ def invoke(self, context, event):
if area.type in {'VIEW_3D', 'IMAGE_EDITOR'}:
area.tag_redraw()
return {'FINISHED'}




class UTIL_OP_SprytileReloadImagesAuto(bpy.types.Operator):
Expand Down Expand Up @@ -1701,6 +1703,16 @@ def modal(self, context, event):
return {'FINISHED'}

if event.type == 'LEFTMOUSE' and event.value == 'PRESS':
if context.preferences.inputs.use_mouse_emulate_3_button:
mouse_event = 'RIGHTMOUSE'
else:
mouse_event = 'LEFTMOUSE'
else:
mouse_event = event.type

if mouse_event == 'LEFTMOUSE':
self.tile_pick(context, event)
elif mouse_event == 'RIGHTMOUSE':
self.tile_pick(context, event)

return {'RUNNING_MODAL'}
Expand Down

0 comments on commit 1b1cada

Please sign in to comment.