Commit 74735f32 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

d2d1: Use d2d_point_set() in d2d_rectangle_geometry_init().

parent 91baf67e
...@@ -382,6 +382,12 @@ static inline BOOL d2d_matrix_invert(D2D_MATRIX_3X2_F *dst, const D2D_MATRIX_3X2 ...@@ -382,6 +382,12 @@ static inline BOOL d2d_matrix_invert(D2D_MATRIX_3X2_F *dst, const D2D_MATRIX_3X2
return TRUE; return TRUE;
} }
static inline void d2d_point_set(D2D1_POINT_2F *dst, float x, float y)
{
dst->x = x;
dst->y = y;
}
static inline void d2d_point_transform(D2D1_POINT_2F *dst, const D2D1_MATRIX_3X2_F *matrix, float x, float y) static inline void d2d_point_transform(D2D1_POINT_2F *dst, const D2D1_MATRIX_3X2_F *matrix, float x, float y)
{ {
dst->x = x * matrix->_11 + y * matrix->_21 + matrix->_31; dst->x = x * matrix->_11 + y * matrix->_21 + matrix->_31;
......
...@@ -2600,6 +2600,9 @@ static const struct ID2D1RectangleGeometryVtbl d2d_rectangle_geometry_vtbl = ...@@ -2600,6 +2600,9 @@ static const struct ID2D1RectangleGeometryVtbl d2d_rectangle_geometry_vtbl =
HRESULT d2d_rectangle_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *factory, const D2D1_RECT_F *rect) HRESULT d2d_rectangle_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *factory, const D2D1_RECT_F *rect)
{ {
D2D1_POINT_2F *fv;
float l, r, t, b;
d2d_geometry_init(geometry, factory, &identity, (ID2D1GeometryVtbl *)&d2d_rectangle_geometry_vtbl); d2d_geometry_init(geometry, factory, &identity, (ID2D1GeometryVtbl *)&d2d_rectangle_geometry_vtbl);
geometry->u.rectangle.rect = *rect; geometry->u.rectangle.rect = *rect;
...@@ -2617,14 +2620,16 @@ HRESULT d2d_rectangle_geometry_init(struct d2d_geometry *geometry, ID2D1Factory ...@@ -2617,14 +2620,16 @@ HRESULT d2d_rectangle_geometry_init(struct d2d_geometry *geometry, ID2D1Factory
} }
geometry->fill.face_count = 2; geometry->fill.face_count = 2;
geometry->fill.vertices[0].x = min(rect->left, rect->right); l = min(rect->left, rect->right);
geometry->fill.vertices[0].y = min(rect->top, rect->bottom); r = max(rect->left, rect->right);
geometry->fill.vertices[1].x = min(rect->left, rect->right); t = min(rect->top, rect->bottom);
geometry->fill.vertices[1].y = max(rect->top, rect->bottom); b = max(rect->top, rect->bottom);
geometry->fill.vertices[2].x = max(rect->left, rect->right);
geometry->fill.vertices[2].y = min(rect->top, rect->bottom); fv = geometry->fill.vertices;
geometry->fill.vertices[3].x = max(rect->left, rect->right); d2d_point_set(&fv[0], l, t);
geometry->fill.vertices[3].y = max(rect->top, rect->bottom); d2d_point_set(&fv[1], l, b);
d2d_point_set(&fv[2], r, t);
d2d_point_set(&fv[3], r, b);
geometry->fill.faces[0].v[0] = 0; geometry->fill.faces[0].v[0] = 0;
geometry->fill.faces[0].v[1] = 2; geometry->fill.faces[0].v[1] = 2;
......
...@@ -42,12 +42,6 @@ static ID2D1Brush *d2d_draw_get_text_brush(struct d2d_draw_text_layout_ctx *cont ...@@ -42,12 +42,6 @@ static ID2D1Brush *d2d_draw_get_text_brush(struct d2d_draw_text_layout_ctx *cont
return context->brush; return context->brush;
} }
static void d2d_point_set(D2D1_POINT_2F *dst, float x, float y)
{
dst->x = x;
dst->y = y;
}
static void d2d_rect_expand(D2D1_RECT_F *dst, const D2D1_POINT_2F *point) static void d2d_rect_expand(D2D1_RECT_F *dst, const D2D1_POINT_2F *point)
{ {
if (point->x < dst->left) if (point->x < dst->left)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment