Mercurial > dwindows
comparison dwtest.c @ 1684:31dd366acfc8
Fixed calculating the GDI+ ratio based on the DPI on Windows.
Not sure if I am getting to the result correctly but it is working.
Also explicitly turn off anti-aliasing when drawing rectangles in
the test program, so the edges don't look odd.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 30 Apr 2012 11:54:19 +0000 |
parents | 9dbd2984c1e5 |
children | 96fcc01693cf |
comparison
equal
deleted
inserted
replaced
1683:19c34a1c1489 | 1684:31dd366acfc8 |
---|---|
327 | 327 |
328 if ( current_file ) | 328 if ( current_file ) |
329 { | 329 { |
330 dw_color_foreground_set(DW_CLR_WHITE); | 330 dw_color_foreground_set(DW_CLR_WHITE); |
331 if(!hpma) | 331 if(!hpma) |
332 dw_draw_rect(0, text1pm, TRUE, 0, 0, (int)DW_PIXMAP_WIDTH(text1pm), (int)DW_PIXMAP_HEIGHT(text1pm)); | 332 dw_draw_rect(0, text1pm, DW_DRAW_FILL | DW_DRAW_NOAA, 0, 0, (int)DW_PIXMAP_WIDTH(text1pm), (int)DW_PIXMAP_HEIGHT(text1pm)); |
333 dw_draw_rect(0, hpm, TRUE, 0, 0, (int)DW_PIXMAP_WIDTH(hpm), (int)DW_PIXMAP_HEIGHT(hpm)); | 333 dw_draw_rect(0, hpm, DW_DRAW_FILL | DW_DRAW_NOAA, 0, 0, (int)DW_PIXMAP_WIDTH(hpm), (int)DW_PIXMAP_HEIGHT(hpm)); |
334 | 334 |
335 for ( i = 0;(i < nrows) && (i+row < num_lines); i++) | 335 for ( i = 0;(i < nrows) && (i+row < num_lines); i++) |
336 { | 336 { |
337 fileline = i + row - 1; | 337 fileline = i + row - 1; |
338 y = i*fheight; | 338 y = i*fheight; |
367 image_x = (int)dw_spinbutton_get_pos(imagexspin); | 367 image_x = (int)dw_spinbutton_get_pos(imagexspin); |
368 image_y = (int)dw_spinbutton_get_pos(imageyspin); | 368 image_y = (int)dw_spinbutton_get_pos(imageyspin); |
369 image_stretch = dw_checkbox_get(imagestretchcheck); | 369 image_stretch = dw_checkbox_get(imagestretchcheck); |
370 | 370 |
371 dw_color_foreground_set(DW_CLR_WHITE); | 371 dw_color_foreground_set(DW_CLR_WHITE); |
372 dw_draw_rect(window, pixmap, TRUE, 0, 0, width, height); | 372 dw_draw_rect(window, pixmap, DW_DRAW_FILL | DW_DRAW_NOAA, 0, 0, width, height); |
373 dw_color_foreground_set(DW_CLR_DARKPINK); | 373 dw_color_foreground_set(DW_CLR_DARKPINK); |
374 dw_draw_rect(window, pixmap, TRUE, 10, 10, width - 20, height - 20); | 374 dw_draw_rect(window, pixmap, DW_DRAW_FILL | DW_DRAW_NOAA, 10, 10, width - 20, height - 20); |
375 dw_color_foreground_set(DW_CLR_GREEN); | 375 dw_color_foreground_set(DW_CLR_GREEN); |
376 dw_color_background_set(DW_CLR_DARKRED); | 376 dw_color_background_set(DW_CLR_DARKRED); |
377 dw_draw_text(window, pixmap, 10, 10, "This should be aligned with the edges."); | 377 dw_draw_text(window, pixmap, 10, 10, "This should be aligned with the edges."); |
378 dw_color_foreground_set(DW_CLR_YELLOW); | 378 dw_color_foreground_set(DW_CLR_YELLOW); |
379 dw_draw_line(window, pixmap, width - 10, 10, 10, height - 10); | 379 dw_draw_line(window, pixmap, width - 10, 10, 10, height - 10); |
380 dw_color_foreground_set(DW_CLR_BLUE); | 380 dw_color_foreground_set(DW_CLR_BLUE); |
381 dw_draw_polygon(window, pixmap, TRUE, 7, x, y); | 381 dw_draw_polygon(window, pixmap, TRUE, 7, x, y); |
382 dw_color_foreground_set(DW_CLR_BLACK); | 382 dw_color_foreground_set(DW_CLR_BLACK); |
383 dw_draw_rect(window, pixmap, DW_DRAW_FILL, 80, 80, 80, 40); | 383 dw_draw_rect(window, pixmap, DW_DRAW_FILL | DW_DRAW_NOAA, 80, 80, 80, 40); |
384 dw_color_foreground_set(DW_CLR_CYAN); | 384 dw_color_foreground_set(DW_CLR_CYAN); |
385 /* Bottom right corner */ | 385 /* Bottom right corner */ |
386 dw_draw_arc(window, pixmap, 0, width - 30, height - 30, width - 10, height - 30, width - 30, height - 10); | 386 dw_draw_arc(window, pixmap, 0, width - 30, height - 30, width - 10, height - 30, width - 30, height - 10); |
387 /* Top right corner */ | 387 /* Top right corner */ |
388 dw_draw_arc(window, pixmap, 0, width - 30, 30, width - 30, 10, width - 10, 30); | 388 dw_draw_arc(window, pixmap, 0, width - 30, 30, width - 30, 10, width - 10, 30); |
707 text1pm = dw_pixmap_new(textbox1, (unsigned long)(font_width*(width1)), (unsigned long)height, (int)depth); | 707 text1pm = dw_pixmap_new(textbox1, (unsigned long)(font_width*(width1)), (unsigned long)height, (int)depth); |
708 text2pm = dw_pixmap_new(textbox2, (unsigned long)width, (unsigned long)height, (int)depth); | 708 text2pm = dw_pixmap_new(textbox2, (unsigned long)width, (unsigned long)height, (int)depth); |
709 | 709 |
710 /* Make sure the side area is cleared */ | 710 /* Make sure the side area is cleared */ |
711 dw_color_foreground_set(DW_CLR_WHITE); | 711 dw_color_foreground_set(DW_CLR_WHITE); |
712 dw_draw_rect(0, text1pm, DW_DRAW_FILL, 0, 0, (int)DW_PIXMAP_WIDTH(text1pm), (int)DW_PIXMAP_HEIGHT(text1pm)); | 712 dw_draw_rect(0, text1pm, DW_DRAW_FILL | DW_DRAW_NOAA, 0, 0, (int)DW_PIXMAP_WIDTH(text1pm), (int)DW_PIXMAP_HEIGHT(text1pm)); |
713 | 713 |
714 /* Destroy the old pixmaps */ | 714 /* Destroy the old pixmaps */ |
715 dw_pixmap_destroy(old1); | 715 dw_pixmap_destroy(old1); |
716 dw_pixmap_destroy(old2); | 716 dw_pixmap_destroy(old2); |
717 | 717 |
1048 image = dw_pixmap_new_from_file(textbox2, "~/test"); | 1048 image = dw_pixmap_new_from_file(textbox2, "~/test"); |
1049 if(image) | 1049 if(image) |
1050 dw_pixmap_set_transparent_color(image, DW_CLR_WHITE); | 1050 dw_pixmap_set_transparent_color(image, DW_CLR_WHITE); |
1051 | 1051 |
1052 dw_messagebox("DWTest", DW_MB_OK|DW_MB_INFORMATION, "Width: %d Height: %d\n", font_width, font_height); | 1052 dw_messagebox("DWTest", DW_MB_OK|DW_MB_INFORMATION, "Width: %d Height: %d\n", font_width, font_height); |
1053 dw_draw_rect(0, text1pm, TRUE, 0, 0, font_width*width1, font_height*rows); | 1053 dw_draw_rect(0, text1pm, DW_DRAW_FILL | DW_DRAW_NOAA, 0, 0, font_width*width1, font_height*rows); |
1054 dw_draw_rect(0, text2pm, TRUE, 0, 0, font_width*cols, font_height*rows); | 1054 dw_draw_rect(0, text2pm, DW_DRAW_FILL | DW_DRAW_NOAA, 0, 0, font_width*cols, font_height*rows); |
1055 dw_signal_connect(textbox1, DW_SIGNAL_BUTTON_PRESS, DW_SIGNAL_FUNC(context_menu_event), NULL); | 1055 dw_signal_connect(textbox1, DW_SIGNAL_BUTTON_PRESS, DW_SIGNAL_FUNC(context_menu_event), NULL); |
1056 dw_signal_connect(textbox1, DW_SIGNAL_EXPOSE, DW_SIGNAL_FUNC(text_expose), NULL); | 1056 dw_signal_connect(textbox1, DW_SIGNAL_EXPOSE, DW_SIGNAL_FUNC(text_expose), NULL); |
1057 dw_signal_connect(textbox2, DW_SIGNAL_EXPOSE, DW_SIGNAL_FUNC(text_expose), NULL); | 1057 dw_signal_connect(textbox2, DW_SIGNAL_EXPOSE, DW_SIGNAL_FUNC(text_expose), NULL); |
1058 dw_signal_connect(textbox2, DW_SIGNAL_CONFIGURE, DW_SIGNAL_FUNC(configure_event), text2pm); | 1058 dw_signal_connect(textbox2, DW_SIGNAL_CONFIGURE, DW_SIGNAL_FUNC(configure_event), text2pm); |
1059 dw_signal_connect(textbox2, DW_SIGNAL_MOTION_NOTIFY, DW_SIGNAL_FUNC(motion_notify_event), (void *)1); | 1059 dw_signal_connect(textbox2, DW_SIGNAL_MOTION_NOTIFY, DW_SIGNAL_FUNC(motion_notify_event), (void *)1); |