Changeset 51 for trunk/luigi/themes
- Timestamp:
- 04/28/07 17:09:55 (2 years ago)
- Files:
-
- trunk/luigi/themes/dxut.d (modified) (4 diffs)
- trunk/luigi/themes/std.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/luigi/themes/dxut.d
r47 r51 105 105 } 106 106 107 alias DXUTTheme Theme; 108 107 109 class DXUTTheme : ThemeBase 108 110 { … … 168 170 } 169 171 else { 172 // This means we haven't made it yet 170 173 ThemeData td2 = new ThemeData; 171 174 w.theme_instance_data = td2; 172 td2.elements = m_elements[w.classinfo].dup; 175 auto pElements = w.classinfo in m_elements; 176 if (pElements!=null) { 177 td2.elements = (*pElements).dup; 178 } 179 else { 180 // this is an unknown class 181 // -- find best match up class hierarchy 182 auto cinfo = w.classinfo; 183 while (cinfo != Widget.classinfo) { 184 pElements = cinfo in m_elements; 185 if (pElements) { 186 td2.elements = (*pElements).dup; 187 break; 188 } 189 cinfo = cinfo.base; 190 } 191 if (cinfo == Widget.classinfo) { 192 // didn't find it. w is not a subclass of anything 193 // we know how to draw. 194 Element[] empty; 195 m_elements[w.classinfo] = empty; 196 } 197 } 173 198 return td2; 174 199 } … … 935 960 { 936 961 auto w = cast(Slider)widget; assert(w); 937 if (ev.is_left && ev.is_press) { w.grab_mouse(); } 962 if (ev.is_left && ev.is_press) { 963 w.grab_mouse(); 964 } 938 965 else if (ev.is_left && ev.is_release) { w.release_mouse(); } 939 966 double v = slider_map_mouse_to_value(w, ev.p); 940 967 w.m_saveValue = w.value; 941 968 w.value = v; 969 ev.alive = false; 942 970 } 943 971 void slider_mouse_move(Widget widget, MouseMoveEvent ev) … … 950 978 double v = slider_map_mouse_to_value(w, ev.p); 951 979 w.value = v; 980 ev.alive = false; 952 981 } 953 982 } trunk/luigi/themes/std.d
r32 r51 35 35 import luigi.gui; 36 36 37 alias StdTheme Theme; 37 38 class StdTheme : ThemeBase 38 39 {
