Mercurial > hg > xemacs-beta
comparison src/glyphs-msw.c @ 388:aabb7f5b1c81 r21-2-9
Import from CVS: tag r21-2-9
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:09:42 +0200 |
parents | bbff43aa5eb7 |
children | 6719134a07c2 |
comparison
equal
deleted
inserted
replaced
387:f892a9d0bb8d | 388:aabb7f5b1c81 |
---|---|
45 #ifdef FILE_CODING | 45 #ifdef FILE_CODING |
46 #include "file-coding.h" | 46 #include "file-coding.h" |
47 #endif | 47 #endif |
48 #include <stdio.h> | 48 #include <stdio.h> |
49 #include <ctype.h> | 49 #include <ctype.h> |
50 #ifdef HAVE_XFACE | |
51 #include <setjmp.h> | |
52 #endif | |
50 | 53 |
51 #define WIDGET_GLYPH_SLOT 0 | 54 #define WIDGET_GLYPH_SLOT 0 |
52 | 55 |
53 #ifdef HAVE_XPM | 56 #ifdef HAVE_XPM |
54 DEFINE_DEVICE_IIFORMAT (mswindows, xpm); | 57 DEFINE_DEVICE_IIFORMAT (mswindows, xpm); |
55 #endif | 58 #endif |
56 DEFINE_DEVICE_IIFORMAT (mswindows, xbm); | 59 DEFINE_DEVICE_IIFORMAT (mswindows, xbm); |
60 #ifdef HAVE_XFACE | |
61 DEFINE_DEVICE_IIFORMAT (mswindows, xface); | |
62 #endif | |
57 DEFINE_DEVICE_IIFORMAT (mswindows, button); | 63 DEFINE_DEVICE_IIFORMAT (mswindows, button); |
58 DEFINE_DEVICE_IIFORMAT (mswindows, edit); | 64 DEFINE_DEVICE_IIFORMAT (mswindows, edit); |
59 #if 0 | 65 #if 0 |
60 DEFINE_DEVICE_IIFORMAT (mswindows, group); | 66 DEFINE_DEVICE_IIFORMAT (mswindows, group); |
61 #endif | 67 #endif |
62 DEFINE_DEVICE_IIFORMAT (mswindows, subwindow); | 68 DEFINE_DEVICE_IIFORMAT (mswindows, subwindow); |
63 DEFINE_DEVICE_IIFORMAT (mswindows, widget); | 69 DEFINE_DEVICE_IIFORMAT (mswindows, widget); |
64 DEFINE_DEVICE_IIFORMAT (mswindows, label); | 70 DEFINE_DEVICE_IIFORMAT (mswindows, label); |
65 DEFINE_DEVICE_IIFORMAT (mswindows, scrollbar); | 71 DEFINE_DEVICE_IIFORMAT (mswindows, scrollbar); |
66 DEFINE_DEVICE_IIFORMAT (mswindows, combo); | 72 DEFINE_DEVICE_IIFORMAT (mswindows, combo); |
73 DEFINE_DEVICE_IIFORMAT (mswindows, progress); | |
67 | 74 |
68 DEFINE_IMAGE_INSTANTIATOR_FORMAT (bmp); | 75 DEFINE_IMAGE_INSTANTIATOR_FORMAT (bmp); |
69 Lisp_Object Qbmp; | 76 Lisp_Object Qbmp; |
70 Lisp_Object Vmswindows_bitmap_file_path; | 77 Lisp_Object Vmswindows_bitmap_file_path; |
71 static COLORREF transparent_color = RGB (1,1,1); | 78 static COLORREF transparent_color = RGB (1,1,1); |
1174 Extbyte* f=0; | 1181 Extbyte* f=0; |
1175 GET_C_STRING_FILENAME_DATA_ALLOCA (file, f); | 1182 GET_C_STRING_FILENAME_DATA_ALLOCA (file, f); |
1176 #ifdef __CYGWIN32__ | 1183 #ifdef __CYGWIN32__ |
1177 CYGWIN_WIN32_PATH (f, fname); | 1184 CYGWIN_WIN32_PATH (f, fname); |
1178 #else | 1185 #else |
1179 /* #### FIXME someone who knows ... */ | 1186 fname = f; |
1180 fname = f | |
1181 #endif | 1187 #endif |
1182 | 1188 |
1183 if (NILP (resource_id)) | 1189 if (NILP (resource_id)) |
1184 resid = (LPCTSTR)fname; | 1190 resid = (LPCTSTR)fname; |
1185 else | 1191 else |
1560 xbm_create_bitmap_from_data (HDC hdc, char *data, | 1566 xbm_create_bitmap_from_data (HDC hdc, char *data, |
1561 unsigned int width, unsigned int height, | 1567 unsigned int width, unsigned int height, |
1562 int mask, COLORREF fg, COLORREF bg) | 1568 int mask, COLORREF fg, COLORREF bg) |
1563 { | 1569 { |
1564 int old_width = (width + 7)/8; | 1570 int old_width = (width + 7)/8; |
1565 int new_width = 2*((width + 15)/16); | 1571 int new_width = BPLINE (2*((width + 15)/16)); |
1566 unsigned char *offset; | 1572 unsigned char *offset; |
1567 void *bmp_buf = 0; | 1573 void *bmp_buf = 0; |
1568 unsigned char *new_data, *new_offset; | 1574 unsigned char *new_data, *new_offset; |
1569 int i, j; | 1575 int i, j; |
1570 BITMAPINFO* bmp_info = | 1576 BITMAPINFO* bmp_info = |
1572 HBITMAP bitmap; | 1578 HBITMAP bitmap; |
1573 | 1579 |
1574 if (!bmp_info) | 1580 if (!bmp_info) |
1575 return NULL; | 1581 return NULL; |
1576 | 1582 |
1577 new_data = (unsigned char *) xmalloc (height * new_width); | 1583 new_data = (unsigned char *) xmalloc_and_zero (height * new_width); |
1578 | 1584 |
1579 if (!new_data) | 1585 if (!new_data) |
1580 { | 1586 { |
1581 xfree (bmp_info); | 1587 xfree (bmp_info); |
1582 return NULL; | 1588 return NULL; |
1585 for (i=0; i<height; i++) | 1591 for (i=0; i<height; i++) |
1586 { | 1592 { |
1587 offset = data + i*old_width; | 1593 offset = data + i*old_width; |
1588 new_offset = new_data + i*new_width; | 1594 new_offset = new_data + i*new_width; |
1589 | 1595 |
1590 new_offset[new_width - 1] = 0; /* there may be an extra byte | |
1591 that needs to be padded */ | |
1592 for (j=0; j<old_width; j++) | 1596 for (j=0; j<old_width; j++) |
1593 { | 1597 { |
1594 int byte = offset[j]; | 1598 int byte = offset[j]; |
1595 new_offset[j] = ~ (unsigned char) | 1599 new_offset[j] = ~ (unsigned char) |
1596 ((flip_table[byte & 0xf] << 4) + flip_table[byte >> 4]); | 1600 ((flip_table[byte & 0xf] << 4) + flip_table[byte >> 4]); |
1606 *new_offset ^= 0xff; | 1610 *new_offset ^= 0xff; |
1607 } | 1611 } |
1608 } | 1612 } |
1609 | 1613 |
1610 bmp_info->bmiHeader.biWidth=width; | 1614 bmp_info->bmiHeader.biWidth=width; |
1611 bmp_info->bmiHeader.biHeight=-height; | 1615 bmp_info->bmiHeader.biHeight=-(LONG)height; |
1612 bmp_info->bmiHeader.biPlanes=1; | 1616 bmp_info->bmiHeader.biPlanes=1; |
1613 bmp_info->bmiHeader.biSize=sizeof(BITMAPINFOHEADER); | 1617 bmp_info->bmiHeader.biSize=sizeof(BITMAPINFOHEADER); |
1614 bmp_info->bmiHeader.biBitCount=1; | 1618 bmp_info->bmiHeader.biBitCount=1; |
1615 bmp_info->bmiHeader.biCompression=BI_RGB; | 1619 bmp_info->bmiHeader.biCompression=BI_RGB; |
1616 bmp_info->bmiHeader.biClrUsed = 2; | 1620 bmp_info->bmiHeader.biClrUsed = 2; |
1831 xbm_instantiate_1 (image_instance, instantiator, pointer_fg, | 1835 xbm_instantiate_1 (image_instance, instantiator, pointer_fg, |
1832 pointer_bg, dest_mask, XINT (XCAR (data)), | 1836 pointer_bg, dest_mask, XINT (XCAR (data)), |
1833 XINT (XCAR (XCDR (data))), gcc_go_home); | 1837 XINT (XCAR (XCDR (data))), gcc_go_home); |
1834 } | 1838 } |
1835 | 1839 |
1840 #ifdef HAVE_XFACE | |
1841 /********************************************************************** | |
1842 * X-Face * | |
1843 **********************************************************************/ | |
1844 #if defined(EXTERN) | |
1845 /* This is about to get redefined! */ | |
1846 #undef EXTERN | |
1847 #endif | |
1848 /* We have to define SYSV32 so that compface.h includes string.h | |
1849 instead of strings.h. */ | |
1850 #define SYSV32 | |
1851 #ifdef __cplusplus | |
1852 extern "C" { | |
1853 #endif | |
1854 #include <compface.h> | |
1855 #ifdef __cplusplus | |
1856 } | |
1857 #endif | |
1858 /* JMP_BUF cannot be used here because if it doesn't get defined | |
1859 to jmp_buf we end up with a conflicting type error with the | |
1860 definition in compface.h */ | |
1861 extern jmp_buf comp_env; | |
1862 #undef SYSV32 | |
1863 | |
1864 static void | |
1865 mswindows_xface_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, | |
1866 Lisp_Object pointer_fg, Lisp_Object pointer_bg, | |
1867 int dest_mask, Lisp_Object domain) | |
1868 { | |
1869 Lisp_Object data = find_keyword_in_vector (instantiator, Q_data); | |
1870 int i, stattis; | |
1871 char *p, *bits, *bp; | |
1872 CONST char * volatile emsg = 0; | |
1873 CONST char * volatile dstring; | |
1874 | |
1875 assert (!NILP (data)); | |
1876 | |
1877 GET_C_STRING_BINARY_DATA_ALLOCA (data, dstring); | |
1878 | |
1879 if ((p = strchr (dstring, ':'))) | |
1880 { | |
1881 dstring = p + 1; | |
1882 } | |
1883 | |
1884 /* Must use setjmp not SETJMP because we used jmp_buf above not JMP_BUF */ | |
1885 if (!(stattis = setjmp (comp_env))) | |
1886 { | |
1887 UnCompAll ((char *) dstring); | |
1888 UnGenFace (); | |
1889 } | |
1890 | |
1891 switch (stattis) | |
1892 { | |
1893 case -2: | |
1894 emsg = "uncompface: internal error"; | |
1895 break; | |
1896 case -1: | |
1897 emsg = "uncompface: insufficient or invalid data"; | |
1898 break; | |
1899 case 1: | |
1900 emsg = "uncompface: excess data ignored"; | |
1901 break; | |
1902 } | |
1903 | |
1904 if (emsg) | |
1905 signal_simple_error_2 (emsg, data, Qimage); | |
1906 | |
1907 bp = bits = (char *) alloca (PIXELS / 8); | |
1908 | |
1909 /* the compface library exports char F[], which uses a single byte per | |
1910 pixel to represent a 48x48 bitmap. Yuck. */ | |
1911 for (i = 0, p = F; i < (PIXELS / 8); ++i) | |
1912 { | |
1913 int n, b; | |
1914 /* reverse the bit order of each byte... */ | |
1915 for (b = n = 0; b < 8; ++b) | |
1916 { | |
1917 n |= ((*p++) << b); | |
1918 } | |
1919 *bp++ = (char) n; | |
1920 } | |
1921 | |
1922 xbm_instantiate_1 (image_instance, instantiator, pointer_fg, | |
1923 pointer_bg, dest_mask, 48, 48, bits); | |
1924 } | |
1925 #endif /* HAVE_XFACE */ | |
1926 | |
1836 | 1927 |
1837 /************************************************************************/ | 1928 /************************************************************************/ |
1838 /* image instance methods */ | 1929 /* image instance methods */ |
1839 /************************************************************************/ | 1930 /************************************************************************/ |
1840 | 1931 |
2157 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | 2248 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); |
2158 HWND wnd; | 2249 HWND wnd; |
2159 int flags = BS_NOTIFY; | 2250 int flags = BS_NOTIFY; |
2160 Lisp_Object style; | 2251 Lisp_Object style; |
2161 struct gui_item* pgui = &IMAGE_INSTANCE_WIDGET_ITEM (ii); | 2252 struct gui_item* pgui = &IMAGE_INSTANCE_WIDGET_ITEM (ii); |
2162 | 2253 Lisp_Object glyph = find_keyword_in_vector (instantiator, Q_image); |
2254 | |
2163 if (!gui_item_active_p (pgui)) | 2255 if (!gui_item_active_p (pgui)) |
2164 flags |= WS_DISABLED; | 2256 flags |= WS_DISABLED; |
2257 | |
2258 if (!NILP (glyph)) | |
2259 { | |
2260 if (!IMAGE_INSTANCEP (glyph)) | |
2261 glyph = glyph_image_instance (glyph, domain, ERROR_ME, 1); | |
2262 | |
2263 if (IMAGE_INSTANCEP (glyph)) | |
2264 flags |= XIMAGE_INSTANCE_MSWINDOWS_BITMAP (glyph) ? | |
2265 BS_BITMAP : BS_ICON; | |
2266 } | |
2165 | 2267 |
2166 style = pgui->style; | 2268 style = pgui->style; |
2167 | 2269 |
2168 if (EQ (style, Qradio)) | 2270 if (EQ (style, Qradio)) |
2169 { | 2271 { |
2184 /* set the checked state */ | 2286 /* set the checked state */ |
2185 if (gui_item_selected_p (pgui)) | 2287 if (gui_item_selected_p (pgui)) |
2186 SendMessage (wnd, BM_SETCHECK, (WPARAM)BST_CHECKED, 0); | 2288 SendMessage (wnd, BM_SETCHECK, (WPARAM)BST_CHECKED, 0); |
2187 else | 2289 else |
2188 SendMessage (wnd, BM_SETCHECK, (WPARAM)BST_UNCHECKED, 0); | 2290 SendMessage (wnd, BM_SETCHECK, (WPARAM)BST_UNCHECKED, 0); |
2291 /* add the image if one was given */ | |
2292 if (!NILP (glyph) && IMAGE_INSTANCEP (glyph)) | |
2293 { | |
2294 SendMessage (wnd, BM_SETIMAGE, | |
2295 (WPARAM) (XIMAGE_INSTANCE_MSWINDOWS_BITMAP (glyph) ? | |
2296 IMAGE_BITMAP : IMAGE_ICON), | |
2297 (LPARAM) (XIMAGE_INSTANCE_MSWINDOWS_BITMAP (glyph) ? | |
2298 XIMAGE_INSTANCE_MSWINDOWS_BITMAP (glyph) : | |
2299 XIMAGE_INSTANCE_MSWINDOWS_ICON (glyph))); | |
2300 } | |
2189 } | 2301 } |
2190 | 2302 |
2191 /* instantiate an edit control */ | 2303 /* instantiate an edit control */ |
2192 static void | 2304 static void |
2193 mswindows_edit_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, | 2305 mswindows_edit_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, |
2197 mswindows_widget_instantiate (image_instance, instantiator, pointer_fg, | 2309 mswindows_widget_instantiate (image_instance, instantiator, pointer_fg, |
2198 pointer_bg, dest_mask, domain, "EDIT", | 2310 pointer_bg, dest_mask, domain, "EDIT", |
2199 ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | 2311 ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP |
2200 | WS_BORDER, | 2312 | WS_BORDER, |
2201 WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT); | 2313 WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT); |
2314 } | |
2315 | |
2316 /* instantiate an edit control */ | |
2317 static void | |
2318 mswindows_progress_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, | |
2319 Lisp_Object pointer_fg, Lisp_Object pointer_bg, | |
2320 int dest_mask, Lisp_Object domain) | |
2321 { | |
2322 HWND wnd; | |
2323 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | |
2324 mswindows_widget_instantiate (image_instance, instantiator, pointer_fg, | |
2325 pointer_bg, dest_mask, domain, PROGRESS_CLASS, | |
2326 WS_TABSTOP | WS_BORDER | PBS_SMOOTH, | |
2327 WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT); | |
2328 wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); | |
2329 /* set the colors */ | |
2330 #ifdef PBS_SETBKCOLOR | |
2331 SendMessage (wnd, PBS_SETBKCOLOR, 0, | |
2332 (LPARAM) (COLOR_INSTANCE_MSWINDOWS_COLOR | |
2333 (XCOLOR_INSTANCE | |
2334 (FACE_BACKGROUND | |
2335 (XIMAGE_INSTANCE_WIDGET_FACE (ii), | |
2336 XIMAGE_INSTANCE_SUBWINDOW_FRAME (ii)))))); | |
2337 #endif | |
2338 #ifdef PBS_SETBARCOLOR | |
2339 SendMessage (wnd, PBS_SETBARCOLOR, 0, | |
2340 (L:PARAM) (COLOR_INSTANCE_MSWINDOWS_COLOR | |
2341 (XCOLOR_INSTANCE | |
2342 (FACE_FOREGROUND | |
2343 (XIMAGE_INSTANCE_WIDGET_FACE (ii), | |
2344 XIMAGE_INSTANCE_SUBWINDOW_FRAME (ii)))))); | |
2345 #endif | |
2202 } | 2346 } |
2203 | 2347 |
2204 /* instantiate a static control possible for putting other things in */ | 2348 /* instantiate a static control possible for putting other things in */ |
2205 static void | 2349 static void |
2206 mswindows_label_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, | 2350 mswindows_label_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, |
2281 mswindows_widget_property (Lisp_Object image_instance, Lisp_Object prop) | 2425 mswindows_widget_property (Lisp_Object image_instance, Lisp_Object prop) |
2282 { | 2426 { |
2283 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | 2427 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); |
2284 HANDLE wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); | 2428 HANDLE wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); |
2285 /* get the text from a control */ | 2429 /* get the text from a control */ |
2286 if (EQ (prop, Qtext)) | 2430 if (EQ (prop, Q_text)) |
2287 { | 2431 { |
2288 Extcount len = SendMessage (wnd, WM_GETTEXTLENGTH, 0, 0); | 2432 Extcount len = SendMessage (wnd, WM_GETTEXTLENGTH, 0, 0); |
2289 Extbyte* buf =alloca (len+1); | 2433 Extbyte* buf =alloca (len+1); |
2290 | 2434 |
2291 SendMessage (wnd, WM_GETTEXT, (WPARAM)len+1, (LPARAM) buf); | 2435 SendMessage (wnd, WM_GETTEXT, (WPARAM)len+1, (LPARAM) buf); |
2299 mswindows_button_property (Lisp_Object image_instance, Lisp_Object prop) | 2443 mswindows_button_property (Lisp_Object image_instance, Lisp_Object prop) |
2300 { | 2444 { |
2301 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | 2445 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); |
2302 HANDLE wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); | 2446 HANDLE wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); |
2303 /* check the state of a button */ | 2447 /* check the state of a button */ |
2304 if (EQ (prop, Qselected)) | 2448 if (EQ (prop, Q_selected)) |
2305 { | 2449 { |
2306 if (SendMessage (wnd, BM_GETSTATE, 0, 0) & BST_CHECKED) | 2450 if (SendMessage (wnd, BM_GETSTATE, 0, 0) & BST_CHECKED) |
2307 return Qt; | 2451 return Qt; |
2308 else | 2452 else |
2309 return Qnil; | 2453 return Qnil; |
2316 mswindows_combo_property (Lisp_Object image_instance, Lisp_Object prop) | 2460 mswindows_combo_property (Lisp_Object image_instance, Lisp_Object prop) |
2317 { | 2461 { |
2318 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | 2462 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); |
2319 HANDLE wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); | 2463 HANDLE wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); |
2320 /* get the text from a control */ | 2464 /* get the text from a control */ |
2321 if (EQ (prop, Qtext)) | 2465 if (EQ (prop, Q_text)) |
2322 { | 2466 { |
2323 long item = SendMessage (wnd, CB_GETCURSEL, 0, 0); | 2467 long item = SendMessage (wnd, CB_GETCURSEL, 0, 0); |
2324 Extcount len = SendMessage (wnd, CB_GETLBTEXTLEN, (WPARAM)item, 0); | 2468 Extcount len = SendMessage (wnd, CB_GETLBTEXTLEN, (WPARAM)item, 0); |
2325 Extbyte* buf = alloca (len+1); | 2469 Extbyte* buf = alloca (len+1); |
2326 SendMessage (wnd, CB_GETLBTEXT, (WPARAM)item, (LPARAM)buf); | 2470 SendMessage (wnd, CB_GETLBTEXT, (WPARAM)item, (LPARAM)buf); |
2334 mswindows_widget_set_property (Lisp_Object image_instance, Lisp_Object prop, | 2478 mswindows_widget_set_property (Lisp_Object image_instance, Lisp_Object prop, |
2335 Lisp_Object val) | 2479 Lisp_Object val) |
2336 { | 2480 { |
2337 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | 2481 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); |
2338 | 2482 |
2339 if (EQ (prop, Qtext)) | 2483 if (EQ (prop, Q_text)) |
2340 { | 2484 { |
2341 Extbyte* lparam=0; | 2485 Extbyte* lparam=0; |
2342 CHECK_STRING (val); | 2486 CHECK_STRING (val); |
2343 GET_C_STRING_OS_DATA_ALLOCA (val, lparam); | 2487 GET_C_STRING_OS_DATA_ALLOCA (val, lparam); |
2344 SendMessage (WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii), | 2488 SendMessage (WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii), |
2345 WM_SETTEXT, 0, (LPARAM)lparam); | 2489 WM_SETTEXT, 0, (LPARAM)lparam); |
2490 return Qt; | |
2491 } | |
2492 return Qunbound; | |
2493 } | |
2494 | |
2495 /* set the properties of a progres guage */ | |
2496 static Lisp_Object | |
2497 mswindows_progress_set_property (Lisp_Object image_instance, Lisp_Object prop, | |
2498 Lisp_Object val) | |
2499 { | |
2500 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | |
2501 | |
2502 if (EQ (prop, Q_percent)) | |
2503 { | |
2504 CHECK_INT (val); | |
2505 SendMessage (WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii), | |
2506 PBM_SETPOS, (WPARAM)XINT (val), 0); | |
2346 return Qt; | 2507 return Qt; |
2347 } | 2508 } |
2348 return Qunbound; | 2509 return Qunbound; |
2349 } | 2510 } |
2350 | 2511 |
2384 INITIALIZE_DEVICE_IIFORMAT (mswindows, xpm); | 2545 INITIALIZE_DEVICE_IIFORMAT (mswindows, xpm); |
2385 IIFORMAT_HAS_DEVMETHOD (mswindows, xpm, instantiate); | 2546 IIFORMAT_HAS_DEVMETHOD (mswindows, xpm, instantiate); |
2386 #endif | 2547 #endif |
2387 INITIALIZE_DEVICE_IIFORMAT (mswindows, xbm); | 2548 INITIALIZE_DEVICE_IIFORMAT (mswindows, xbm); |
2388 IIFORMAT_HAS_DEVMETHOD (mswindows, xbm, instantiate); | 2549 IIFORMAT_HAS_DEVMETHOD (mswindows, xbm, instantiate); |
2389 | 2550 #ifdef HAVE_XFACE |
2551 INITIALIZE_DEVICE_IIFORMAT (mswindows, xface); | |
2552 IIFORMAT_HAS_DEVMETHOD (mswindows, xface, instantiate); | |
2553 #endif | |
2390 INITIALIZE_DEVICE_IIFORMAT (mswindows, button); | 2554 INITIALIZE_DEVICE_IIFORMAT (mswindows, button); |
2391 IIFORMAT_HAS_DEVMETHOD (mswindows, button, property); | 2555 IIFORMAT_HAS_DEVMETHOD (mswindows, button, property); |
2392 IIFORMAT_HAS_DEVMETHOD (mswindows, button, instantiate); | 2556 IIFORMAT_HAS_DEVMETHOD (mswindows, button, instantiate); |
2393 | 2557 |
2394 INITIALIZE_DEVICE_IIFORMAT (mswindows, edit); | 2558 INITIALIZE_DEVICE_IIFORMAT (mswindows, edit); |
2412 IIFORMAT_HAS_DEVMETHOD (mswindows, combo, instantiate); | 2576 IIFORMAT_HAS_DEVMETHOD (mswindows, combo, instantiate); |
2413 | 2577 |
2414 INITIALIZE_DEVICE_IIFORMAT (mswindows, scrollbar); | 2578 INITIALIZE_DEVICE_IIFORMAT (mswindows, scrollbar); |
2415 IIFORMAT_HAS_DEVMETHOD (mswindows, scrollbar, instantiate); | 2579 IIFORMAT_HAS_DEVMETHOD (mswindows, scrollbar, instantiate); |
2416 | 2580 |
2581 INITIALIZE_DEVICE_IIFORMAT (mswindows, progress); | |
2582 IIFORMAT_HAS_DEVMETHOD (mswindows, progress, set_property); | |
2583 IIFORMAT_HAS_DEVMETHOD (mswindows, progress, instantiate); | |
2584 | |
2417 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (bmp, "bmp"); | 2585 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (bmp, "bmp"); |
2418 | 2586 |
2419 IIFORMAT_HAS_METHOD (bmp, validate); | 2587 IIFORMAT_HAS_METHOD (bmp, validate); |
2420 IIFORMAT_HAS_METHOD (bmp, normalize); | 2588 IIFORMAT_HAS_METHOD (bmp, normalize); |
2421 IIFORMAT_HAS_METHOD (bmp, possible_dest_types); | 2589 IIFORMAT_HAS_METHOD (bmp, possible_dest_types); |
2452 Fprovide (Qbutton); | 2620 Fprovide (Qbutton); |
2453 Fprovide (Qedit); | 2621 Fprovide (Qedit); |
2454 Fprovide (Qcombo); | 2622 Fprovide (Qcombo); |
2455 Fprovide (Qscrollbar); | 2623 Fprovide (Qscrollbar); |
2456 Fprovide (Qlabel); | 2624 Fprovide (Qlabel); |
2625 Fprovide (Qprogress); | |
2457 } | 2626 } |
2458 | 2627 |
2459 void | 2628 void |
2460 complex_vars_of_glyphs_mswindows (void) | 2629 complex_vars_of_glyphs_mswindows (void) |
2461 { | 2630 { |