Lucio Andrés Illanes Albornoz
85cbffbadb
Fixes memory leaks on {re,un}do state mutation & resize-related operations.
...
MiRCARTCanvas.py:__del__(): delete canvasMap w/ clear().
MiRCARTCanvasBackend.py:resize(): delete old canvasBitmap w/ Destroy().
MiRCARTCanvasJournal.py:reset{Cursor,Undo}(): delete patches{Cursor,Undo} w/ clear().
MiRCARTCanvasJournal.py:__del__(): provided explicitly to call reset{Cursor,Undo}().
MiRCARTFrame.py:__del__(): provided explicitly to delete panelCanvas.
2018-01-26 17:45:04 +01:00
Lucio Andrés Illanes Albornoz
d6f72e17f7
MiRCART{CanvasInterface,Frame}.py: complete set of {brush,canvas} size operations.
...
assets/tool{De,In}cr{Brush,Canvas}{H{,W},W}.png: added/updated.
2018-01-11 23:26:36 +01:00
Lucio Andrés Illanes Albornoz
485d97ff99
MiRCARTFrame.py: initially select red (4) colour toolbar item.
2018-01-11 03:02:18 +01:00
Lucio Andrés Illanes Albornoz
25a0a696f6
MiRCARTFrame.py: add {in,de}crease {height,width} toolbar items.
...
assets/tool{De,In}crCanvas{H,W}.png: added.
2018-01-11 02:49:53 +01:00
Lucio Andrés Illanes Albornoz
cafb53b283
MiRCARTFrame.py: adds exit accelerator (hotkey) <Ctrl> X.
2018-01-11 02:37:20 +01:00
Lucio Andrés Illanes Albornoz
e336730d80
MiRCART{CanvasInterface,{,General}Frame}.py: add & sync {tools,colour selection} toolbar items as radio tools.
2018-01-11 02:34:32 +01:00
Lucio Andrés Illanes Albornoz
24de84093d
MiRCART{CanvasInterface,Frame}.py: adds (flood) fill tool.
...
MiRCARTToolFill.py: initial implementation.
assets/toolFill.png: added.
2018-01-11 00:27:50 +01:00
Lucio Andrés Illanes Albornoz
325ae6883f
MiRCARTFrame.py: add canvas panel window to sizer w/ border width 14.
2018-01-10 22:16:48 +01:00
Lucio Andrés Illanes Albornoz
4ce163d906
MiRCARTCanvas.py:MiRCARTCanvas.resize(): call SetSize() w/o changing position.
...
MiRCARTCanvas.py:MiRCARTCanvas.resize(): call SetMinSize() in addition to SetSize().
MiRCARTCanvas.py:MiRCARTCanvas.resize(): call Layout() on canvas panel window and its parents.
MiRCARTCanvasInterface.py: always call SetCursor() w/ self.parentCanvas.
MiRCARTFrame.py: moves colour toolbar items to separate toolbar.
MiRCARTFrame.py:MiRCARTFrame.__init__(): add canvas panel to and initialise sizer.
MiRCARTGeneralFrame.py: adds support for multiple toolbars via vertical box sizer.
2018-01-10 22:06:48 +01:00
Lucio Andrés Illanes Albornoz
7e7df8a31c
MiRCART{CanvasInterface,Frame}.py: adds clone & move (selection) tools.
...
MiRCARTTool{Clone,Move}Select.py: initial implementation.
assets/tool{Clone,Move}.png: added.
MiRCART.png: updated.
2018-01-10 18:29:16 +01:00
Lucio Andrés Illanes Albornoz
cd9a81dbf4
MiRCART{anvas{,ImportStore,Interface},Frame}.py: pass & initialise from default canvas position, size, and cell size.
2018-01-10 15:04:59 +01:00
Lucio Andrés Illanes Albornoz
f20174037c
MiRCART{Canvas{,Interface},Frame}.py: use dict() to cache canvas state in Frame.
2018-01-10 14:51:25 +01:00
Lucio Andrés Illanes Albornoz
b486d3966e
MiRCART{CanvasInterface,Frame,Tool*}.py: include current tool name in status bar text.
2018-01-10 05:05:59 +01:00
Lucio Andrés Illanes Albornoz
62ff843d03
MiRCART{Canvas{,Interface},Frame}.py: remove undo level & show brush size in status bar.
2018-01-10 05:00:52 +01:00
Lucio Andrés Illanes Albornoz
08fcfa3290
MiRCART{Canvas,Frame}.py: include canvas width and height in status bar.
2018-01-10 04:36:39 +01:00
Lucio Andrés Illanes Albornoz
1b00bb3b2f
MiRCART{Canvas{,Interface},Frame}.py: merge on{StatusBar,Undo}Update() into onCanvasUpdate().
...
MiRCARTCanvas{Frame,Interface}.py: adds canvas{De,In}crCanvas{Height,Width}() & CID_*.
MiRCARTCanvasFrame.py:onCanvasUpdate(): updated.
2018-01-10 04:23:54 +01:00
Lucio Andrés Illanes Albornoz
7abd7679d2
MiRCARTCanvasInterface.py: split from MiRCARTCanvas.py.
...
MiRCART{Canvas,{,General}Frame}.py: updated.
2018-01-10 03:24:25 +01:00
Lucio Andrés Illanes Albornoz
36b9a5eb82
MiRCARTCanvas{Export,Import}Store.py: split from MiRCARTCanvasStore.py.
...
IrcMiRCARTBot.py, MiRCART{Canvas,Frame,ToPngFile}.py: updated.
2018-01-10 00:48:13 +01:00
Lucio Andrés Illanes Albornoz
d3e67a7c18
MiRCART{Canvas{,Backend},Frame}.py: replace MemoryDC() w/ BufferedDC(canvasBitmap).
2018-01-09 22:23:27 +01:00
Lucio Andrés Illanes Albornoz
cc64e955e9
MiRCART.png: updates screenshot.
...
MiRCARTCanvas.py:onPanelKeyboardInput(): only handle {no,shift}-modifier keyboard events.
MiRCARTFrame.py: fix {de,in}crease canvas size accelerators (hotkeys.)
2018-01-09 04:17:24 +01:00
Lucio Andrés Illanes Albornoz
14a4192442
Initial release w/ circle, line, rectangle, and text tools.
2018-01-09 03:56:40 +01:00
Lucio Andrés Illanes Albornoz
9e3af62f97
MiRCART{General,}Frame.py, assets/*.png: adds icons for tools.
...
MiRCART{Frame,ToolText}.py: initial implementation of Text tool.
2018-01-08 20:28:43 +01:00
Lucio Andrés Illanes Albornoz
1edb7cc626
MiRCART{Canvas,Frame}.py: adds circle & line tools.
...
MiRCARTTool{Circle,Line}.py: initial implementation.
2018-01-08 17:44:54 +01:00
Lucio Andrés Illanes Albornoz
7aecb6fd58
MiRCARTFrame.py: adds <Ctrl>-<{+,-}> {in,de}crease brush size accelerators (hotkeys).
2018-01-08 02:56:08 +01:00
Lucio Andrés Illanes Albornoz
baa84ce859
MiRCARTGeneralFrame.py, MiRCARTFrame.py: cleanup.
2018-01-08 01:43:54 +01:00
Lucio Andrés Illanes Albornoz
e763dc8909
MiRCARTFrame.py:MiRCARTFrame.onFrameCommand(): don't decrease brush size below (1,1).
...
MiRCARTFrame.py:MiRCARTFrame.onFrameCommand(): remove debugging print()s.
2018-01-08 01:18:52 +01:00
Lucio Andrés Illanes Albornoz
26937149fb
MiRCART{CanvasJournal,Frame,ToolRect}.py: implements variable brush size.
2018-01-08 00:33:47 +01:00
Lucio Andrés Illanes Albornoz
54ce9975e2
MiRCARTFrame.py:MiRCARTFrame.canvas{Export{AsPng,Imgur,Pastebin},New,Open,Save}(): add wx.CURSOR_WAIT guards.
2018-01-08 00:05:10 +01:00
Lucio Andrés Illanes Albornoz
6b67a713e5
MiRCART{CanvasStore,Frame}.py: implements export to Imgur (from bitmap via PNG.)
2018-01-08 00:05:10 +01:00
Lucio Andrés Illanes Albornoz
74e3f41000
Initial release sans tools.
2018-01-08 00:05:03 +01:00
Lucio Andrés Illanes Albornoz
e195bcde47
MiRCARTFrame:MiRCARTFrame.TID_SELECT, [CM]ID_*: adds selectable item type.
...
MiRCARTFrame:MiRCARTFrame.{_initMenus,__init__}(): automatically set menu item initial state.
2018-01-07 15:20:27 +01:00
Lucio Andrés Illanes Albornoz
45f2f80050
MiRCARTFrame.py: remove obsolete MiRCARTTo{Pastebin,PngFile} imports.
...
MiRCARTFrame.py:MiRCARTFrame.__init__(): initially disable (grey out) Copy, Cut, Delete, Paste, Export to Pastebin, and Export as PNG menu items.
2018-01-07 15:07:37 +01:00
Lucio Andrés Illanes Albornoz
a58781ed7a
MiRCARTCanvasStore.py: split & merge MiRCART{FromTextFile,ToPastebin,ToTextFile}.py.
2018-01-07 15:07:22 +01:00
Lucio Andrés Illanes Albornoz
4abf68e168
MiRCART.py: hand off to MiRCARTFrame().
...
MiRCARTCanvas.py: split from MiRCART.py.
MiRCARTCanvasJournal.py: split from MiRCART.py.
MiRCARTColours.py: split from MiRCART.py.
MiRCARTFrame.py: split from MiRCART.py.
MiRCARTFromTextFile.py: initial implementation.
MiRCARTToPastebin.py: initial implementation.
MiRCARTToPngFile.py, IrcMiRCARTBot.py: renamed MiRC2png to MiRCARTToPngFile.
MiRCARTToTextFile.py: split from MiRCART.py.
MiRCARTTool.py: split from MiRCART.py.
MiRCARTToolRect.py: split from MiRCART.py.
README.md: updated.
2018-01-07 03:45:18 +01:00