static float STDMETHODCALLTYPE d2d_bitmap_brush_GetOpacity(ID2D1BitmapBrush *iface) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p.\n", iface); return brush->opacity; }
static D2D1_BITMAP_INTERPOLATION_MODE STDMETHODCALLTYPE d2d_bitmap_brush_GetInterpolationMode(ID2D1BitmapBrush *iface) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p.\n", iface); return brush->u.bitmap.interpolation_mode; }
static void STDMETHODCALLTYPE d2d_bitmap_brush_SetOpacity(ID2D1BitmapBrush *iface, float opacity) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p, opacity %.8e.\n", iface, opacity); brush->opacity = opacity; }
static D2D1_EXTEND_MODE STDMETHODCALLTYPE d2d_bitmap_brush_GetExtendModeY(ID2D1BitmapBrush *iface) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p.\n", iface); return brush->u.bitmap.extend_mode_y; }
static void STDMETHODCALLTYPE d2d_bitmap_brush_GetTransform(ID2D1BitmapBrush *iface, D2D1_MATRIX_3X2_F *transform) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p, transform %p.\n", iface, transform); *transform = brush->transform; }
static ULONG STDMETHODCALLTYPE d2d_bitmap_brush_AddRef(ID2D1BitmapBrush *iface) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); ULONG refcount = InterlockedIncrement(&brush->refcount); TRACE("%p increasing refcount to %u.\n", iface, refcount); return refcount; }
static void STDMETHODCALLTYPE d2d_bitmap_brush_GetBitmap(ID2D1BitmapBrush *iface, ID2D1Bitmap **bitmap) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p, bitmap %p.\n", iface, bitmap); if ((*bitmap = &brush->u.bitmap.bitmap->ID2D1Bitmap_iface)) ID2D1Bitmap_AddRef(*bitmap); }
static void STDMETHODCALLTYPE d2d_bitmap_brush_GetFactory(ID2D1BitmapBrush *iface, ID2D1Factory **factory) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p, factory %p.\n", iface, factory); ID2D1Factory_AddRef(*factory = brush->factory); }
static void STDMETHODCALLTYPE d2d_bitmap_brush_SetBitmap(ID2D1BitmapBrush *iface, ID2D1Bitmap *bitmap) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p, bitmap %p.\n", iface, bitmap); if (bitmap) ID2D1Bitmap_AddRef(bitmap); if (brush->u.bitmap.bitmap) ID2D1Bitmap_Release(&brush->u.bitmap.bitmap->ID2D1Bitmap_iface); brush->u.bitmap.bitmap = unsafe_impl_from_ID2D1Bitmap(bitmap); }
static ULONG STDMETHODCALLTYPE d2d_bitmap_brush_Release(ID2D1BitmapBrush *iface) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); ULONG refcount = InterlockedDecrement(&brush->refcount); TRACE("%p decreasing refcount to %u.\n", iface, refcount); if (!refcount) HeapFree(GetProcessHeap(), 0, brush); return refcount; }
static void STDMETHODCALLTYPE d2d_bitmap_brush_SetExtendModeY(ID2D1BitmapBrush *iface, D2D1_EXTEND_MODE mode) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p, mode %#x.\n", iface, mode); brush->u.bitmap.extend_mode_y = mode; if (brush->u.bitmap.sampler_state) { ID3D10SamplerState_Release(brush->u.bitmap.sampler_state); brush->u.bitmap.sampler_state = NULL; } }
static void STDMETHODCALLTYPE d2d_bitmap_brush_SetInterpolationMode(ID2D1BitmapBrush *iface, D2D1_BITMAP_INTERPOLATION_MODE mode) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); TRACE("iface %p, mode %#x.\n", iface, mode); brush->u.bitmap.interpolation_mode = mode; if (brush->u.bitmap.sampler_state) { ID3D10SamplerState_Release(brush->u.bitmap.sampler_state); brush->u.bitmap.sampler_state = NULL; } }
static ULONG STDMETHODCALLTYPE d2d_bitmap_brush_Release(ID2D1BitmapBrush *iface) { struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); ULONG refcount = InterlockedDecrement(&brush->refcount); TRACE("%p decreasing refcount to %u.\n", iface, refcount); if (!refcount) { if (brush->u.bitmap.sampler_state) ID3D10SamplerState_Release(brush->u.bitmap.sampler_state); if (brush->u.bitmap.bitmap) ID2D1Bitmap_Release(&brush->u.bitmap.bitmap->ID2D1Bitmap_iface); d2d_brush_destroy(brush); } return refcount; }