def __init__(self, parent): super().__init__(parent) self._drawing_panel = DrawingPanel(self, is_tilemap_mode=True) self._tilemap_panel = TilemapPanel(self) self._image_panel = ImagePanel(self, is_tilemap_mode=True) self._tilemap_picker = NumberPicker(self, 48, 161, 0, TILEMAP_BANK_COUNT - 1, 0) self._tool_button = RadioButton(self, 81, 161, 3, EDITOR_IMAGE_X + 63, EDITOR_IMAGE_Y, 7, TOOL_PENCIL) self._image_picker = NumberPicker( self, 192, 161, 0, IMAGE_BANK_COUNT - 2, pyxel.tilemap(self._tilemap_picker.value).refimg, ) self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._tilemap_picker.add_event_handler("change", self.__on_tilemap_picker_change) self._image_picker.add_event_handler("change", self.__on_image_picker_change) self.add_number_picker_help(self._tilemap_picker) self.add_number_picker_help(self._image_picker) self.add_tool_button_help(self._tool_button)
def __init__(self, parent): super().__init__(parent) self._drawing_panel = DrawingPanel(self, is_tilemap_mode=False) self._image_panel = ImagePanel(self, is_tilemap_mode=False) self._color_picker = ColorPicker(self, 11, 156, 7, with_shadow=False) self._tool_button = RadioButton( self, 81, 161, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 63, EDITOR_IMAGE_Y, 7, TOOL_PENCIL, ) self._image_picker = NumberPicker(self, 192, 161, 0, pyxel.USER_IMAGE_BANK_COUNT - 1, 0) self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("drop", self.__on_drop) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._color_picker.add_event_handler( "mouse_hover", self.__on_color_picker_mouse_hover) self.add_tool_button_help(self._tool_button) self.add_number_picker_help(self._image_picker)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != ".pyxel": resource_file += ".pyxel" pyxel.init( EDITOR_WIDTH, EDITOR_HEIGHT, caption="Pyxel Editor - {}".format(resource_file), ) try: pyxel.load(resource_file) except FileNotFoundError: pass super().__init__(None, 0, 0, pyxel.width, pyxel.height) self._resource_file = resource_file self._editor_list = [ ImageEditor(self), TileMapEditor(self), SoundEditor(self), MusicEditor(self), ] self._editor_button = RadioButton(self, 1, 1, 3, 0, 16, 4, EDITOR_IMAGE) self._undo_button = ImageButton(self, 48, 1, 3, 36, 16) self._redo_button = ImageButton(self, 57, 1, 3, 45, 16) self._save_button = ImageButton(self, 75, 1, 3, 54, 16) self.help_message = "" self._editor_button.add_event_handler( "change", lambda value: self.set_editor(value) ) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._undo_button.add_event_handler("press", self.__on_undo_press) self._redo_button.add_event_handler("press", self.__on_redo_press) self._save_button.add_event_handler("press", self.__on_save_press) self._editor_button.add_event_handler( "mouse_hover", self.__editor_button_on_mouse_hover ) self._undo_button.add_event_handler( "mouse_hover", self.__undo_button_on_mouse_hover ) self._redo_button.add_event_handler( "mouse_hover", self.__redo_button_on_mouse_hover ) self._save_button.add_event_handler( "mouse_hover", self.__save_button_on_mouse_hover ) self.set_editor(0) image_file = os.path.join(os.path.dirname(__file__), "assets", "editor.png") pyxel.image(3, system=True).load(0, 16, image_file) pyxel.run(self.update_widgets, self.draw_widgets)
def __init__(self, parent): super().__init__(parent, "image_editor.png") self._edit_frame = EditFrame(self, is_tilemap_mode=False) self._image_frame = ImageFrame(self, is_tilemap_mode=False) self._color_picker = ColorPicker(self, 11, 156) self._tool_button = RadioButton(self, 81, 161, 3, 81, 173, 7) self._image_number = NumberPicker(self, 192, 161, 0, RENDERER_IMAGE_COUNT - 2) self.color = 7 self.tool = 1 self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo)
def __init__(self, parent): super().__init__(parent) self._drawing_panel = DrawingPanel(self, is_tilemap_mode=False) self._image_panel = ImagePanel(self, is_tilemap_mode=False) self._color_picker = ColorPicker(self, 11, 156, 7, with_shadow=False) self._tool_button = RadioButton(self, 81, 161, 3, EDITOR_IMAGE_X + 63, EDITOR_IMAGE_Y, 7, TOOL_PENCIL) self._image_picker = NumberPicker(self, 192, 161, 0, RENDERER_IMAGE_COUNT - 2, 0) self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self.add_tool_button_help(self._tool_button) self.add_number_picker_help(self._image_picker)
def __init__(self, parent): super().__init__(parent, "tilemap_editor.png") self._edit_frame = EditFrame(self, is_tilemap_mode=True) self._tilemap_frame = TilemapFrame(self) self._select_frame = ImageFrame(self, is_tilemap_mode=True) self._tilemap_number = NumberPicker(self, 48, 161, 0, RENDERER_TILEMAP_COUNT - 1) self._tool_button = RadioButton(self, 81, 161, 3, 81, 173, 7) self._image_number = NumberPicker(self, 192, 161, 0, RENDERER_IMAGE_COUNT - 2) self.color = 0 self.tool = 1 self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("update", self.__on_update)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != ".pyxel": resource_file += ".pyxel" pyxel.init( EDITOR_WIDTH, EDITOR_HEIGHT, caption="Pyxel Editor - {}".format(resource_file), ) try: pyxel.load(resource_file) except FileNotFoundError: pass self._resource_file = resource_file self._root_widget = Widget(None, 0, 0, 0, 0) self._screen_list = [ ImageEditor(self._root_widget), TileMapEditor(self._root_widget), SoundEditor(self._root_widget), MusicEditor(self._root_widget), ] self._screen_button = RadioButton(self._root_widget, 3, 1, 3, 3, 13, 4) self._screen_button.add_event_handler( "change", lambda value: self.set_screen(value)) self.set_screen(0) self._undo_button = ImageButton(self._root_widget, 48, 1, 3, 48, 13) self._undo_button.add_event_handler("press", self.__on_undo_press) self._redo_button = ImageButton(self._root_widget, 57, 1, 3, 57, 13) self._redo_button.add_event_handler("press", self.__on_redo_press) self._save_button = ImageButton(self._root_widget, 75, 1, 3, 75, 13) self._save_button.add_event_handler("press", self.__on_save_press) pyxel.run(self.update, self.draw)
def __init__(self, parent): super().__init__(parent) self._edit_frame = EditFrame(self, is_tilemap_mode=True) self._tilemap_frame = TilemapFrame(self) self._image_frame = ImageFrame(self, is_tilemap_mode=True) self._tilemap_picker = NumberPicker(self, 48, 161, 0, RENDERER_TILEMAP_COUNT - 1, 0) self._tool_button = RadioButton(self, 81, 161, 3, 63, 16, 7, TOOL_PENCIL) self._image_picker = NumberPicker(self, 192, 161, 0, RENDERER_IMAGE_COUNT - 2, 0) self.add_event_handler("undo", self.__on_undo) self.add_event_handler("redo", self.__on_redo) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self.add_number_picker_help(self._tilemap_picker) self.add_number_picker_help(self._image_picker) self.add_tool_button_help(self._tool_button)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != ".pyxel": resource_file += ".pyxel" pyxel.init( APP_WIDTH, APP_HEIGHT, caption="Pyxel Editor - {}".format(resource_file) ) pyxel.mouse(True) try: pyxel.load(resource_file) except FileNotFoundError: pass super().__init__(None, 0, 0, pyxel.width, pyxel.height) self._resource_file = resource_file self._editor_list = [ ImageEditor(self), TileMapEditor(self), SoundEditor(self), MusicEditor(self), ] self._editor_button = RadioButton( self, 1, 1, 3, EDITOR_IMAGE_X, EDITOR_IMAGE_Y, 4, 0 ) self._undo_button = ImageButton( self, 48, 1, 3, EDITOR_IMAGE_X + 36, EDITOR_IMAGE_Y ) self._redo_button = ImageButton( self, 57, 1, 3, EDITOR_IMAGE_X + 45, EDITOR_IMAGE_Y ) self._save_button = ImageButton( self, 75, 1, 3, EDITOR_IMAGE_X + 54, EDITOR_IMAGE_Y ) self.help_message = "" self._editor_button.add_event_handler( "change", lambda value: self._set_editor(value) ) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._undo_button.add_event_handler("press", self.__on_undo_button_press) self._undo_button.add_event_handler("repeat", self.__on_undo_button_press) self._redo_button.add_event_handler("press", self.__on_redo_button_press) self._redo_button.add_event_handler("repeat", self.__on_redo_button_press) self._save_button.add_event_handler("press", self.__on_save_button_press) self._editor_button.add_event_handler( "mouse_hover", self.__on_editor_button_mouse_hover ) self._undo_button.add_event_handler( "mouse_hover", self.__on_undo_button_mouse_hover ) self._redo_button.add_event_handler( "mouse_hover", self.__on_redo_button_mouse_hover ) self._save_button.add_event_handler( "mouse_hover", self.__on_save_button_mouse_hover ) glfw.set_drop_callback(pyxel._app._window, self._drop_callback) image_file = os.path.join( os.path.dirname(__file__), "assets", EDITOR_IMAGE_NAME ) pyxel.image(3, system=True).load(EDITOR_IMAGE_X, EDITOR_IMAGE_Y, image_file) self._set_editor(0) pyxel.run(self.update_widgets, self.draw_widgets)
def __init__(self, resource_file): resource_file = os.path.join(os.getcwd(), resource_file) root, ext = os.path.splitext(resource_file) if ext != pyxel.RESOURCE_FILE_EXTENSION: resource_file += pyxel.RESOURCE_FILE_EXTENSION pyxel.init( APP_WIDTH, APP_HEIGHT, caption="Pyxel Editor - {}".format(resource_file) ) pyxel.mouse(True) if os.path.exists(resource_file): pyxel.load(resource_file) if ext == ".pyxel": resource_file = root + pyxel.RESOURCE_FILE_EXTENSION super().__init__(None, 0, 0, pyxel.width, pyxel.height) self._resource_file = resource_file self._editor_list = [ ImageEditor(self), TileMapEditor(self), SoundEditor(self), MusicEditor(self), ] self._editor_button = RadioButton( self, 1, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X, EDITOR_IMAGE_Y, 4, 0, ) self._undo_button = ImageButton( self, 48, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 36, EDITOR_IMAGE_Y, ) self._redo_button = ImageButton( self, 57, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 45, EDITOR_IMAGE_Y, ) self._save_button = ImageButton( self, 75, 1, pyxel.IMAGE_BANK_FOR_SYSTEM, EDITOR_IMAGE_X + 54, EDITOR_IMAGE_Y, ) self.help_message = "" self._editor_button.add_event_handler( "change", lambda value: self._set_editor(value) ) self.add_event_handler("update", self.__on_update) self.add_event_handler("draw", self.__on_draw) self._undo_button.add_event_handler("press", self.__on_undo_button_press) self._undo_button.add_event_handler("repeat", self.__on_undo_button_press) self._redo_button.add_event_handler("press", self.__on_redo_button_press) self._redo_button.add_event_handler("repeat", self.__on_redo_button_press) self._save_button.add_event_handler("press", self.__on_save_button_press) self._editor_button.add_event_handler( "mouse_hover", self.__on_editor_button_mouse_hover ) self._undo_button.add_event_handler( "mouse_hover", self.__on_undo_button_mouse_hover ) self._redo_button.add_event_handler( "mouse_hover", self.__on_redo_button_mouse_hover ) self._save_button.add_event_handler( "mouse_hover", self.__on_save_button_mouse_hover ) image_file = os.path.join( os.path.dirname(__file__), "assets", EDITOR_IMAGE_NAME ) pyxel.image(pyxel.IMAGE_BANK_FOR_SYSTEM, system=True).load( EDITOR_IMAGE_X, EDITOR_IMAGE_Y, image_file ) self._set_editor(0) pyxel.run(self.update_widgets, self.draw_widgets)