22 #include "LLDW_PAINTER_impl.h" 25 #include "dw_drawing.h" 28 #include "LLUI_DISPLAY.h" 39 #define LOG_DRAW_START(fn) LLUI_DISPLAY_logDrawingStart(CONCAT_DEFINES(LOG_DRAW_, fn)) 40 #define LOG_DRAW_END(fn) LLUI_DISPLAY_logDrawingEnd(CONCAT_DEFINES(LOG_DRAW_, fn)) 42 #define DRAWING_PAINTER_NATIVE_NAME(fn) (CONCAT_DEFINES(DRAWING_PAINTER_NATIVE_PREFIX, fn)) 47 #define LOG_DRAW_drawThickFadedPoint 100 48 #define LOG_DRAW_drawThickFadedLine 101 49 #define LOG_DRAW_drawThickFadedCircle 102 50 #define LOG_DRAW_drawThickFadedCircleArc 103 51 #define LOG_DRAW_drawThickFadedEllipse 104 52 #define LOG_DRAW_drawThickLine 105 53 #define LOG_DRAW_drawThickCircle 106 54 #define LOG_DRAW_drawThickEllipse 107 55 #define LOG_DRAW_drawThickCircleArc 108 57 #define LOG_DRAW_drawFlippedImage 200 58 #define LOG_DRAW_drawRotatedImageNearestNeighbor 201 59 #define LOG_DRAW_drawRotatedImageBilinear 202 60 #define LOG_DRAW_drawScaledImageNearestNeighbor 203 61 #define LOG_DRAW_drawScaledImageBilinear 204 67 void DRAWING_PAINTER_NATIVE(drawThickFadedPoint, MICROUI_GraphicsContext* gc, jint x, jint y, jint thickness, jint fade) {
68 if (LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickFadedPoint))) {
69 LOG_DRAW_START(drawThickFadedPoint);
70 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickFadedPoint(gc, x, y, thickness, fade));
71 LOG_DRAW_END(drawThickFadedPoint);
75 void DRAWING_PAINTER_NATIVE(drawThickFadedLine, MICROUI_GraphicsContext* gc, jint startX, jint startY, jint endX, jint endY, jint thickness, jint fade, DRAWING_Cap startCap, DRAWING_Cap endCap) {
76 if (LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickFadedLine))) {
77 LOG_DRAW_START(drawThickFadedLine);
78 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickFadedLine(gc, startX, startY, endX, endY, thickness, fade, startCap, endCap));
79 LOG_DRAW_END(drawThickFadedLine);
83 void DRAWING_PAINTER_NATIVE(drawThickFadedCircle, MICROUI_GraphicsContext* gc, jint x, jint y, jint diameter, jint thickness, jint fade) {
84 if ((diameter > 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickFadedCircle))) {
85 LOG_DRAW_START(drawThickFadedCircle);
86 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickFadedCircle(gc, x, y, diameter, thickness, fade));
87 LOG_DRAW_END(drawThickFadedCircle);
91 void DRAWING_PAINTER_NATIVE(drawThickFadedCircleArc, MICROUI_GraphicsContext* gc, jint x, jint y, jint diameter, jfloat startAngle, jfloat arcAngle, jint thickness, jint fade, DRAWING_Cap start, DRAWING_Cap end) {
92 if ((diameter > 0) && (int32_t)arcAngle != 0 && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickFadedCircleArc))) {
93 LOG_DRAW_START(drawThickFadedCircleArc);
94 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickFadedCircleArc(gc, x, y, diameter, startAngle, arcAngle, thickness, fade, start, end));
95 LOG_DRAW_END(drawThickFadedCircleArc);
99 void DRAWING_PAINTER_NATIVE(drawThickFadedEllipse, MICROUI_GraphicsContext* gc, jint x, jint y, jint width, jint height, jint thickness, jint fade) {
100 if ((width > 0) && (height > 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickFadedEllipse))) {
101 LOG_DRAW_START(drawThickFadedEllipse);
102 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickFadedEllipse(gc, x, y, width, height, thickness, fade));
103 LOG_DRAW_END(drawThickFadedEllipse);
107 void DRAWING_PAINTER_NATIVE(drawThickLine, MICROUI_GraphicsContext* gc, jint startX, jint startY, jint endX, jint endY, jint thickness) {
108 if (LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickLine))) {
109 LOG_DRAW_START(drawThickLine);
110 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickLine(gc, startX, startY, endX, endY, thickness));
111 LOG_DRAW_END(drawThickLine);
115 void DRAWING_PAINTER_NATIVE(drawThickCircle, MICROUI_GraphicsContext* gc, jint x, jint y, jint diameter, jint thickness) {
116 if ((diameter > 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickCircle))) {
117 LOG_DRAW_START(drawThickCircle);
118 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickCircle(gc, x, y, diameter, thickness));
119 LOG_DRAW_END(drawThickCircle);
123 void DRAWING_PAINTER_NATIVE(drawThickEllipse, MICROUI_GraphicsContext* gc, jint x, jint y, jint width, jint height, jint thickness) {
124 if ((width > 0) && (height > 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickEllipse))) {
125 LOG_DRAW_START(drawThickEllipse);
126 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickEllipse(gc, x, y, width, height, thickness));
127 LOG_DRAW_END(drawThickEllipse);
131 void DRAWING_PAINTER_NATIVE(drawThickCircleArc, MICROUI_GraphicsContext* gc, jint x, jint y, jint diameter, jfloat startAngle, jfloat arcAngle, jint thickness) {
132 if ((diameter > 0) && ((int32_t)arcAngle != 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawThickCircleArc))) {
133 LOG_DRAW_START(drawThickCircleArc);
134 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawThickCircleArc(gc, x, y, diameter, startAngle, arcAngle, thickness));
135 LOG_DRAW_END(drawThickCircleArc);
139 void DRAWING_PAINTER_NATIVE(drawFlippedImage, MICROUI_GraphicsContext* gc, MICROUI_Image* img, jint regionX, jint regionY, jint width, jint height, jint x, jint y, DRAWING_Flip transformation, jint alpha) {
140 if (!LLUI_DISPLAY_isClosed(img) && (alpha > 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawFlippedImage))) {
141 LOG_DRAW_START(drawFlippedImage);
142 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawFlippedImage(gc, img, regionX, regionY, width, height, x, y, transformation, alpha));
143 LOG_DRAW_END(drawFlippedImage);
147 void DRAWING_PAINTER_NATIVE(drawRotatedImageNearestNeighbor, MICROUI_GraphicsContext* gc, MICROUI_Image* img, jint x, jint y, jint rotationX, jint rotationY, jfloat angle, jint alpha) {
148 if (!LLUI_DISPLAY_isClosed(img) && (alpha > 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawRotatedImageNearestNeighbor))) {
149 LOG_DRAW_START(drawRotatedImageNearestNeighbor);
150 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawRotatedImageNearestNeighbor(gc, img, x, y, rotationX, rotationY, angle, alpha));
151 LOG_DRAW_END(drawRotatedImageNearestNeighbor);
155 void DRAWING_PAINTER_NATIVE(drawRotatedImageBilinear, MICROUI_GraphicsContext* gc, MICROUI_Image* img, jint x, jint y, jint rotationX, jint rotationY, jfloat angle, jint alpha) {
156 if (!LLUI_DISPLAY_isClosed(img) && (alpha > 0) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawRotatedImageBilinear))) {
157 LOG_DRAW_START(drawRotatedImageBilinear);
158 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawRotatedImageBilinear(gc, img, x, y, rotationX, rotationY, angle, alpha));
159 LOG_DRAW_END(drawRotatedImageBilinear);
163 void DRAWING_PAINTER_NATIVE(drawScaledImageNearestNeighbor, MICROUI_GraphicsContext* gc, MICROUI_Image* img, jint x, jint y, jfloat factorX, jfloat factorY, jint alpha) {
164 if (!LLUI_DISPLAY_isClosed(img) && (alpha > 0) && (factorX > 0.f) && (factorY > 0.f) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawScaledImageNearestNeighbor))) {
165 LOG_DRAW_START(drawScaledImageNearestNeighbor);
166 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawScaledImageNearestNeighbor(gc, img, x, y, factorX, factorY, alpha));
167 LOG_DRAW_END(drawScaledImageNearestNeighbor);
171 void DRAWING_PAINTER_NATIVE(drawScaledImageBilinear, MICROUI_GraphicsContext* gc, MICROUI_Image* img, jint x, jint y, jfloat factorX, jfloat factorY, jint alpha) {
172 if (!LLUI_DISPLAY_isClosed(img) && (alpha > 0) && (factorX > 0.f) && (factorY > 0.f) && LLUI_DISPLAY_requestDrawing(gc, (SNI_callback)&DRAWING_PAINTER_NATIVE_NAME(drawScaledImageBilinear))) {
173 LOG_DRAW_START(drawScaledImageBilinear);
174 LLUI_DISPLAY_setDrawingStatus(DW_DRAWING_drawScaledImageBilinear(gc, img, x, y, factorX, factorY, alpha));
175 LOG_DRAW_END(drawScaledImageBilinear);