6 #if !defined UI_DRAWING_H
84 #include <LLUI_PAINTER_impl.h>
85 #include <LLDW_PAINTER_impl.h>
97 #define CONCAT0(p, s) p ## s
98 #define CONCAT(p, s) CONCAT0(p, s)
105 #if defined(UI_GC_SUPPORTED_FORMATS) && (UI_GC_SUPPORTED_FORMATS > 1)
113 bool UI_DRAWING_is_drawer_1(jbyte image_format);
115 #if (UI_GC_SUPPORTED_FORMATS > 2)
119 bool UI_DRAWING_is_drawer_2(jbyte image_format);
138 uint32_t UI_DRAWING_getNewImageStrideInBytes(jbyte image_format, uint32_t image_width, uint32_t image_height,
139 uint32_t default_stride);
153 void UI_DRAWING_adjustNewImageCharacteristics(jbyte image_format, uint32_t width, uint32_t height, uint32_t *data_size,
154 uint32_t *data_alignment);
163 void UI_DRAWING_initializeNewImage(MICROUI_Image *image);
173 void UI_DRAWING_freeImageResources(MICROUI_Image *image);
183 jint UI_DRAWING_stringWidth(jchar *chars, jint length, MICROUI_Font *font);
194 jint UI_DRAWING_initializeRenderableStringSNIContext(jchar *chars, jint length, MICROUI_Font *font,
195 MICROUI_RenderableString *renderableString);
206 DRAWING_Status UI_DRAWING_writePixel(MICROUI_GraphicsContext *gc, jint x, jint y);
220 DRAWING_Status UI_DRAWING_drawLine(MICROUI_GraphicsContext *gc, jint startX, jint startY, jint endX, jint endY);
233 DRAWING_Status UI_DRAWING_drawHorizontalLine(MICROUI_GraphicsContext *gc, jint x1, jint x2, jint y);
246 DRAWING_Status UI_DRAWING_drawVerticalLine(MICROUI_GraphicsContext *gc, jint x, jint y1, jint y2);
261 DRAWING_Status UI_DRAWING_drawRectangle(MICROUI_GraphicsContext *gc, jint x1, jint y1, jint x2, jint y2);
276 DRAWING_Status UI_DRAWING_fillRectangle(MICROUI_GraphicsContext *gc, jint x1, jint y1, jint x2, jint y2);
292 DRAWING_Status UI_DRAWING_drawRoundedRectangle(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
293 jint cornerEllipseWidth, jint cornerEllipseHeight);
309 DRAWING_Status UI_DRAWING_fillRoundedRectangle(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
310 jint cornerEllipseWidth, jint cornerEllipseHeight);
340 DRAWING_Status UI_DRAWING_drawCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter, jfloat startAngle,
373 DRAWING_Status UI_DRAWING_drawEllipseArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
374 jfloat startAngle, jfloat arcAngle);
404 DRAWING_Status UI_DRAWING_fillCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter, jfloat startAngle,
437 DRAWING_Status UI_DRAWING_fillEllipseArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
438 jfloat startAngle, jfloat arcAngle);
455 DRAWING_Status UI_DRAWING_drawEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height);
471 DRAWING_Status UI_DRAWING_fillEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height);
486 DRAWING_Status UI_DRAWING_drawCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter);
501 DRAWING_Status UI_DRAWING_fillCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter);
537 DRAWING_Status UI_DRAWING_drawImage(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint regionX, jint regionY,
538 jint width, jint height, jint x, jint y, jint alpha);
568 DRAWING_Status UI_DRAWING_copyImage(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint regionX, jint regionY,
569 jint width, jint height, jint x, jint y);
595 DRAWING_Status UI_DRAWING_drawRegion(MICROUI_GraphicsContext *gc, jint regionX, jint regionY, jint width, jint height,
596 jint x, jint y, jint alpha);
609 DRAWING_Status UI_DRAWING_drawString(MICROUI_GraphicsContext *gc, jchar *chars, jint length, MICROUI_Font *font, jint x,
624 DRAWING_Status UI_DRAWING_drawRenderableString(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
625 MICROUI_Font *font, jint width,
626 MICROUI_RenderableString *renderableString, jint x, jint y);
639 DRAWING_Status UI_DRAWING_drawThickFadedPoint(MICROUI_GraphicsContext *gc, jint x, jint y, jint thickness, jint fade);
656 DRAWING_Status UI_DRAWING_drawThickFadedLine(MICROUI_GraphicsContext *gc, jint startX, jint startY, jint endX,
657 jint endY, jint thickness, jint fade, DRAWING_Cap startCap,
674 DRAWING_Status UI_DRAWING_drawThickFadedCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
675 jint thickness, jint fade);
708 DRAWING_Status UI_DRAWING_drawThickFadedCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
709 jfloat startAngle, jfloat arcAngle, jint thickness, jint fade,
710 DRAWING_Cap start, DRAWING_Cap end);
730 DRAWING_Status UI_DRAWING_drawThickFadedEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
731 jint thickness, jint fade);
745 DRAWING_Status UI_DRAWING_drawThickLine(MICROUI_GraphicsContext *gc, jint startX, jint startY, jint endX, jint endY,
761 DRAWING_Status UI_DRAWING_drawThickCircle(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter, jint thickness);
780 DRAWING_Status UI_DRAWING_drawThickEllipse(MICROUI_GraphicsContext *gc, jint x, jint y, jint width, jint height,
806 DRAWING_Status UI_DRAWING_drawThickCircleArc(MICROUI_GraphicsContext *gc, jint x, jint y, jint diameter,
807 jfloat startAngle, jfloat arcAngle, jint thickness);
826 DRAWING_Status UI_DRAWING_drawFlippedImage(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint regionX, jint regionY,
827 jint width, jint height, jint x, jint y, DRAWING_Flip transformation,
851 DRAWING_Status UI_DRAWING_drawRotatedImageNearestNeighbor(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x,
852 jint y, jint rotationX, jint rotationY, jfloat angle,
877 DRAWING_Status UI_DRAWING_drawRotatedImageBilinear(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x, jint y,
878 jint rotationX, jint rotationY, jfloat angle, jint alpha);
896 DRAWING_Status UI_DRAWING_drawScaledImageNearestNeighbor(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x,
897 jint y, jfloat factorX, jfloat factorY, jint alpha);
916 DRAWING_Status UI_DRAWING_drawScaledImageBilinear(MICROUI_GraphicsContext *gc, MICROUI_Image *img, jint x, jint y,
917 jfloat factorX, jfloat factorY, jint alpha);
934 DRAWING_Status UI_DRAWING_drawScaledStringBilinear(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
935 MICROUI_Font *font, jint x, jint y, jfloat xRatio, jfloat yRatio);
954 DRAWING_Status UI_DRAWING_drawScaledRenderableStringBilinear(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
955 MICROUI_Font *font, jint width,
956 MICROUI_RenderableString *renderableString, jint x, jint y,
957 jfloat xRatio, jfloat yRatio);
975 DRAWING_Status UI_DRAWING_drawCharWithRotationBilinear(MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font, jint x,
976 jint y, jint xRotation, jint yRotation, jfloat angle,
995 DRAWING_Status UI_DRAWING_drawCharWithRotationNearestNeighbor(MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
996 jint x, jint y, jint xRotation, jint yRotation,
997 jfloat angle, jint alpha);
MicroEJ MicroUI library low level API: enable some features according to the hardware capabilities.