def mix_colours(self): """ Mixes sprite index colour coding with the system's window background color. """ sys_colour = self.StateList.GetBackgroundColour() for index, colour in enumerate(self.SPRITE_COLOURS): self.SPRITE_COLOURS[index] = utils.mix_colours(colour, sys_colour, 0.92)
def mix_colours(self): """ Mixes sprite index colour coding with the system's window background color. """ sys_colour = self.StateList.GetBackgroundColour() for index, colour in enumerate(self.SPRITE_COLOURS): self.SPRITE_COLOURS[index] = utils.mix_colours( colour, sys_colour, 0.92)
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.NO_BORDER): wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=wx.STATIC_BORDER) # WAD list to use for sprite rendering. self.wads = None # The current sprite being displayed. self.sprite = None # The baseline at which to render sprites. Consider this to be the invisible floor on which sprites are placed. self.baseline_factor = 0.8 # The icon to display instead of missing sprites. self.missing = wx.Bitmap('res/icon-missing.png', wx.BITMAP_TYPE_PNG) self.invalid = wx.Bitmap('res/icon-invalid.png', wx.BITMAP_TYPE_PNG) # Create "floor" fill color. floor_colour = utils.mix_colours(self.GetBackgroundColour(), wx.Colour(0, 0, 0), 0.6) self.floor_brush = wx.Brush(floor_colour) self.floor_points = None self.create_floor_points() # Sprite setup. self.sprite_name = None self.sprite_frame = None self.angle = 1 # Paint setup. self.Bind(wx.EVT_PAINT, self.paint) # Dragging setup. self.drag_point_start = None self.drag_angle_start = self.angle self.lock_angle = False self.Bind(wx.EVT_LEFT_DOWN, self.drag_start) self.Bind(wx.EVT_LEFT_UP, self.drag_end) self.Bind(wx.EVT_LEAVE_WINDOW, self.drag_end) self.Bind(wx.EVT_MOTION, self.drag_move) self.update_cursor()
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.NO_BORDER): wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style | wx.NO_FULL_REPAINT_ON_RESIZE) # WAD list to use for sprite rendering. self.wads = None # The current sprite being displayed. self.sprite = self.CLEAR # The baseline at which to render sprites. Consider this to be the invisible floor on which sprites are placed. self.baseline_factor = 0.8 # Scale to draw sprites at. self.scale = 1.0 # The icon to display instead of missing sprites. self.missing = wx.Bitmap('res/icon-missing.png', wx.BITMAP_TYPE_PNG) self.invalid = wx.Bitmap('res/icon-invalid.png', wx.BITMAP_TYPE_PNG) # Create "floor" fill color. floor_colour = utils.mix_colours(self.GetBackgroundColour(), wx.Colour(0, 0, 0), 0.65) self.floor_brush = wx.Brush(floor_colour) self.floor_points = None self.create_floor_points() # Sprite setup. self.sprite_name = None self.sprite_frame = None self.angle = 1 # Paint setup. self.src_dc = wx.MemoryDC() self.buffer = None self.Bind(wx.EVT_SIZE, self.resize) self.Bind(wx.EVT_PAINT, self.paint) # Dragging setup. self.drag_point_start = None self.drag_angle_start = self.angle self.lock_angle = False self.Bind(wx.EVT_LEFT_DOWN, self.drag_start) self.Bind(wx.EVT_LEFT_UP, self.drag_end) self.Bind(wx.EVT_LEAVE_WINDOW, self.drag_end) self.Bind(wx.EVT_MOTION, self.drag_move) self.resize(None) self.update_cursor()