6 #if !defined UI_DRAWING_BVI_H
7 #define UI_DRAWING_BVI_H
23 #if defined VG_FEATURE_BUFFERED_VECTOR_IMAGE
29 #include <LLVG_BVI_impl.h>
31 #include "ui_drawing.h"
41 #define UI_DRAWING_BVI_is_drawer CONCAT(UI_DRAWING_is_drawer_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
42 #define UI_DRAWING_BVI_adjustNewImageCharacteristics CONCAT(UI_DRAWING_adjustNewImageCharacteristics_, \
43 UI_DRAWING_IDENTIFIER_BVI_FORMAT)
44 #define UI_DRAWING_BVI_initializeNewImage CONCAT(UI_DRAWING_initializeNewImage_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
45 #define UI_DRAWING_BVI_freeImageResources CONCAT(UI_DRAWING_freeImageResources_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
47 #define UI_DRAWING_BVI_drawLine CONCAT(UI_DRAWING_drawLine_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
48 #define UI_DRAWING_BVI_drawHorizontalLine CONCAT(UI_DRAWING_drawHorizontalLine_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
49 #define UI_DRAWING_BVI_drawVerticalLine CONCAT(UI_DRAWING_drawVerticalLine_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
50 #define UI_DRAWING_BVI_fillRectangle CONCAT(UI_DRAWING_fillRectangle_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
51 #define UI_DRAWING_BVI_drawRoundedRectangle CONCAT(UI_DRAWING_drawRoundedRectangle_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
52 #define UI_DRAWING_BVI_fillRoundedRectangle CONCAT(UI_DRAWING_fillRoundedRectangle_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
53 #define UI_DRAWING_BVI_drawCircleArc CONCAT(UI_DRAWING_drawCircleArc_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
54 #define UI_DRAWING_BVI_drawEllipseArc CONCAT(UI_DRAWING_drawEllipseArc_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
55 #define UI_DRAWING_BVI_fillCircleArc CONCAT(UI_DRAWING_fillCircleArc_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
56 #define UI_DRAWING_BVI_fillEllipseArc CONCAT(UI_DRAWING_fillEllipseArc_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
57 #define UI_DRAWING_BVI_drawEllipse CONCAT(UI_DRAWING_drawEllipse_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
58 #define UI_DRAWING_BVI_fillEllipse CONCAT(UI_DRAWING_fillEllipse_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
59 #define UI_DRAWING_BVI_drawCircle CONCAT(UI_DRAWING_drawCircle_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
60 #define UI_DRAWING_BVI_fillCircle CONCAT(UI_DRAWING_fillCircle_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
61 #define UI_DRAWING_BVI_drawImage CONCAT(UI_DRAWING_drawImage_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
62 #define UI_DRAWING_BVI_drawThickFadedPoint CONCAT(UI_DRAWING_drawThickFadedPoint_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
63 #define UI_DRAWING_BVI_drawThickFadedLine CONCAT(UI_DRAWING_drawThickFadedLine_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
64 #define UI_DRAWING_BVI_drawThickFadedCircle CONCAT(UI_DRAWING_drawThickFadedCircle_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
65 #define UI_DRAWING_BVI_drawThickFadedCircleArc CONCAT(UI_DRAWING_drawThickFadedCircleArc_, \
66 UI_DRAWING_IDENTIFIER_BVI_FORMAT)
67 #define UI_DRAWING_BVI_drawThickFadedEllipse CONCAT(UI_DRAWING_drawThickFadedEllipse_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
68 #define UI_DRAWING_BVI_drawThickLine CONCAT(UI_DRAWING_drawThickLine_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
69 #define UI_DRAWING_BVI_drawThickCircle CONCAT(UI_DRAWING_drawThickCircle_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
70 #define UI_DRAWING_BVI_drawThickEllipse CONCAT(UI_DRAWING_drawThickEllipse_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
71 #define UI_DRAWING_BVI_drawThickCircleArc CONCAT(UI_DRAWING_drawThickCircleArc_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
72 #define UI_DRAWING_BVI_drawFlippedImage CONCAT(UI_DRAWING_drawFlippedImage_, UI_DRAWING_IDENTIFIER_BVI_FORMAT)
73 #define UI_DRAWING_BVI_drawRotatedImageNearestNeighbor CONCAT(UI_DRAWING_drawRotatedImageNearestNeighbor_, \
74 UI_DRAWING_IDENTIFIER_BVI_FORMAT)
75 #define UI_DRAWING_BVI_drawRotatedImageBilinear CONCAT(UI_DRAWING_drawRotatedImageBilinear_, \
76 UI_DRAWING_IDENTIFIER_BVI_FORMAT)
77 #define UI_DRAWING_BVI_drawScaledImageNearestNeighbor CONCAT(UI_DRAWING_drawScaledImageNearestNeighbor_, \
78 UI_DRAWING_IDENTIFIER_BVI_FORMAT)
79 #define UI_DRAWING_BVI_drawScaledImageBilinear CONCAT(UI_DRAWING_drawScaledImageBilinear_, \
80 UI_DRAWING_IDENTIFIER_BVI_FORMAT)
90 void UI_DRAWING_BVI_adjustNewImageCharacteristics(jbyte image_format, uint32_t width, uint32_t height,
91 uint32_t *data_size, uint32_t *data_alignment);
96 void UI_DRAWING_BVI_initializeNewImage(MICROUI_Image *image);
101 void UI_DRAWING_BVI_freeImageResources(MICROUI_Image *image);
106 DRAWING_Status UI_DRAWING_BVI_drawLine(MICROUI_GraphicsContext *gc, jint startX, jint startY, jint endX, jint endY);
111 DRAWING_Status UI_DRAWING_BVI_drawHorizontalLine(MICROUI_GraphicsContext *gc, jint x1, jint x2, jint y);
116 DRAWING_Status UI_DRAWING_BVI_drawVerticalLine(MICROUI_GraphicsContext *gc, jint x, jint y1, jint y2);
121 DRAWING_Status UI_DRAWING_BVI_fillRectangle(MICROUI_GraphicsContext *gc, jint x1, jint y1, jint x2, jint y2);
126 DRAWING_Status UI_DRAWING_BVI_drawRoundedRectangle(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
127 jint cornerEllipseWidth, jint cornerEllipseHeight);
132 DRAWING_Status UI_DRAWING_BVI_fillRoundedRectangle(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
133 jint cornerEllipseWidth, jint cornerEllipseHeight);
138 DRAWING_Status UI_DRAWING_BVI_drawCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
139 jfloat startAngle, jfloat arcAngle);
144 DRAWING_Status UI_DRAWING_BVI_drawEllipseArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
145 jfloat startAngle, jfloat arcAngle);
150 DRAWING_Status UI_DRAWING_BVI_fillCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
151 jfloat startAngle, jfloat arcAngle);
156 DRAWING_Status UI_DRAWING_BVI_fillEllipseArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
157 jfloat startAngle, jfloat arcAngle);
162 DRAWING_Status UI_DRAWING_BVI_drawEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height);
167 DRAWING_Status UI_DRAWING_BVI_fillEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height);
172 DRAWING_Status UI_DRAWING_BVI_drawCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter);
177 DRAWING_Status UI_DRAWING_BVI_fillCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter);
182 DRAWING_Status UI_DRAWING_BVI_drawImage(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint regionX, jint regionY,
183 jint width, jint height, jint x, jint y, jint alpha);
188 DRAWING_Status UI_DRAWING_BVI_copyImage(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint regionX, jint regionY,
189 jint width, jint height, jint x, jint y);
194 DRAWING_Status UI_DRAWING_BVI_drawRegion(MICROUI_GraphicsContext *gc, jint regionX, jint regionY, jint width,
195 jint height, jint x, jint y, jint alpha);
200 DRAWING_Status UI_DRAWING_BVI_drawThickFadedPoint(MICROUI_GraphicsContext *gc, jint x, jint y, jint thickness,
206 DRAWING_Status UI_DRAWING_BVI_drawThickFadedLine(MICROUI_GraphicsContext *gc, jint startX, jint startY, jint endX,
207 jint endY, jint thickness, jint fade, DRAWING_Cap startCap,
213 DRAWING_Status UI_DRAWING_BVI_drawThickFadedCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
214 jint thickness, jint fade);
219 DRAWING_Status UI_DRAWING_BVI_drawThickFadedCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
220 jfloat startAngle, jfloat arcAngle, jint thickness, jint fade,
221 DRAWING_Cap start, DRAWING_Cap end);
226 DRAWING_Status UI_DRAWING_BVI_drawThickFadedEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width,
227 jint height, jint thickness, jint fade);
232 DRAWING_Status UI_DRAWING_BVI_drawThickLine(MICROUI_GraphicsContext *gc, jint startX, jint startY, jint endX, jint endY,
238 DRAWING_Status UI_DRAWING_BVI_drawThickCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
244 DRAWING_Status UI_DRAWING_BVI_drawThickEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
250 DRAWING_Status UI_DRAWING_BVI_drawThickCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
251 jfloat startAngle, jfloat arcAngle, jint thickness);
256 DRAWING_Status UI_DRAWING_BVI_drawFlippedImage(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint regionX,
257 jint regionY, jint width, jint height, jint x, jint y,
258 DRAWING_Flip transformation, jint alpha);
263 DRAWING_Status UI_DRAWING_BVI_drawRotatedImageNearestNeighbor(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x,
264 jint y, jint rotationX, jint rotationY, jfloat angle,
270 DRAWING_Status UI_DRAWING_BVI_drawRotatedImageBilinear(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x, jint y,
271 jint rotationX, jint rotationY, jfloat angle, jint alpha);
276 DRAWING_Status UI_DRAWING_BVI_drawScaledImageNearestNeighbor(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x,
277 jint y, jfloat factorX, jfloat factorY, jint alpha);
282 DRAWING_Status UI_DRAWING_BVI_drawScaledImageBilinear(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x, jint y,
283 jfloat factorX, jfloat factorY, jint alpha);
MicroEJ MicroVG library low level API: enable some features according to the hardware capacities.