WD_HBRUSH wdCreateSolidBrush(WD_HCANVAS hCanvas, WD_COLOR color) { if(d2d_enabled()) { d2d_canvas_t* c = (d2d_canvas_t*) hCanvas; ID2D1SolidColorBrush* b; D2D_COLOR_F clr; HRESULT hr; d2d_init_color(&clr, color); hr = ID2D1RenderTarget_CreateSolidColorBrush( c->target, &clr, NULL, &b); if(FAILED(hr)) { WD_TRACE_HR("wdCreateSolidBrush: " "ID2D1RenderTarget::CreateSolidColorBrush() failed."); return NULL; } return (WD_HBRUSH) b; } else { dummy_GpSolidFill* b; int status; status = gdix_vtable->fn_CreateSolidFill(color, &b); if(status != 0) { WD_TRACE("wdCreateSolidBrush: " "GdipCreateSolidFill() failed. [%d]", status); return NULL; } return (WD_HBRUSH) b; } }
void wdClear(WD_HCANVAS hCanvas, WD_COLOR color) { if(d2d_enabled()) { d2d_canvas_t* c = (d2d_canvas_t*) hCanvas; dummy_D2D1_COLOR_F clr; d2d_init_color(&clr, color); dummy_ID2D1RenderTarget_Clear(c->target, &clr); } else { gdix_canvas_t* c = (gdix_canvas_t*) hCanvas; gdix_vtable->fn_GraphicsClear(c->graphics, color); } }
void wdSetSolidBrushColor(WD_HBRUSH hBrush, WD_COLOR color) { if(d2d_enabled()) { D2D_COLOR_F clr; d2d_init_color(&clr, color); ID2D1SolidColorBrush_SetColor((ID2D1SolidColorBrush*) hBrush, &clr); } else { dummy_GpSolidFill* b = (dummy_GpSolidFill*) hBrush; gdix_vtable->fn_SetSolidFillColor(b, (dummy_ARGB) color); } }