1 module armos.utils.gui.widgets.widget;
2 
3 import armos.events;
4 
5 import armos.utils.gui.style;
6 import armos.math.vector;
7 /++
8 LabelやSlider等の基底クラスです.Listの構成要素となります.
9 +/
10 class Widget {
11     public{
12         /++
13             描画を行います.
14         +/
15         void draw(){};
16 
17         /++
18             Widgetの高さを返します.
19         +/
20         int height()const{return _height;}
21 
22         /++
23         +/
24         void style(Style stl){_style = stl;}
25 
26         /++
27             Widgetの座標を返します.
28         +/
29         void position(Vector2i pos){_position = pos;}
30 
31         /++
32         +/
33         void update(ref armos.events.EventArg arg){}
34 
35         /++
36             マウスが動いた時に呼ばれるイベントハンドラです.
37         +/
38         void mouseMoved(ref armos.events.MouseMovedEventArg message){}
39 
40         /++
41             マウスのボタンが離された時に呼ばれるイベントハンドラです.
42         +/
43         void mouseReleased(ref armos.events.MouseReleasedEventArg message){}
44 
45         /++
46             マウスのボタンが押された時に呼ばれるイベントハンドラです.
47         +/
48         void mousePressed(ref armos.events.MousePressedEventArg message){}
49     }//public
50 
51     private{
52     }//private
53 
54     protected{
55         int _height = 128;
56         Vector2i _position;
57         Style _style;
58     }//protected
59 }//class Widget