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