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);