Mercurial > projects > doodle
view doodle/dia/tool.d @ 56:b190a9d9352e
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 08 Aug 2010 21:56:54 +0930 |
parents | 1b4c9ba58673 |
children | 9960c4fbd0dd |
line wrap: on
line source
module doodle.dia.tool; public { import cairo.Context; import doodle.dia.icanvas; import doodle.tk.events; } /* interface IToolStack { void push(Tool tool); void pop(); void replace(Tool tool); } */ abstract class Tool { /* enum Response { START, CONTINUE, FINISH } */ /* abstract bool isSticky(); abstract bool isReplaceable(); */ /* abstract void start(IToolStack tool_stack); abstract void stop(IToolStack tool_stack); */ bool handleButtonPress(scope Viewport viewport, in ButtonEvent event) { return false; } bool handleButtonRelease(scope Viewport viewport, in ButtonEvent event) { return false; } bool handleMotion(scope Viewport viewport, in MotionEvent event) { return false; } bool handleScroll(scope Viewport viewport, in ScrollEvent event) { return false; } //bool handleEnter(scope viewport, CrossingEvent event) { return false; } //bool handleLeave(scope viewport, CrossingEvent event) { return false; } //bool handleFocusIn(scope viewport, FocusEvent event) { return false; } //bool handleFocusOut(scope viewport, FocusEvent event) { return false; } bool handleKeyPress(scope Viewport viewport, in KeyEvent event) { return false; } bool handleKeyRelease(scope Viewport viewport, in KeyEvent event) { return false; } void draw(in Viewport viewport, in Rectangle pixelDamage, scope Context pixelCr) const { } }