This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C129XNCZAD: Tivaware graphic library display rotation

Part Number: TM4C129XNCZAD


Hi e2e,

does there have any configuration in Tivaware graphic library for display rotation, 90,180,270?

i checked the user manual, there is no information about it.

thanks in advance.

LEON

  • Hello Leon

    Do you mean a dynamic screen rotation or static rotation?
  • Hi Amit,

    Static rotation is enough, do you have the related information?

    thanks.

    LEON

  • Hello Leon,

    The define of LANDSCAPE, POTRAIT, LANDSCAPE_FLIP and POTRAIT_FLIP in the compile flow should help you do the same for managing the Graphics drivers that come along with TivaWare.
  • Hi Amit,

    Yes, I found it, we can enable the define while compiling Graphic library.

    // Although the display raster scans in a fixed direction with respect to a given origin, the raster display driver can be configured to rotate the

    // displayed image to allow displays to be viewed in any portrait or landscape format.  The orientation is selected at build time by defining one of

    // NORMAL which orients the displayed image with the same origin as the raster scan, DISPLAY_ROTATE_90 which rotates the

    // image such that the image origin is in the top right of the display with respect to the raster origin,  DISPLAY_ROTATE_180 which places the image

    // origin in the bottom right of the raster scan or DISPLAY_ROTATE_270 which places the origin at the bottom left of the raster.  In the

    // DISPLAY_ROTATE_90 and DISPLAY_ROTATE_270 cases, the width and height reported to the graphics library in the g_sGrRaster16BppDriver structure

    // are reversed with respect to \b RASTER_WIDTH and \b RASTER_HEIGHT.

    #ifdef DISPLAY_ROTATE_90
    //
    // This version of the function handles the cases where we are writing
    // lines of pixels vertically downwards relative to the raster scan.
    //
    static void
    GrRaster16BppDriverPixelDrawMultiple(void *pvDisplayData, int32_t lX,
                                        int32_t lY, int32_t lX0, int32_t lCount,
                                        int32_t lBPP, const uint8_t *pui8Data,
                                        const uint8_t *pui8Palette)
    {
        uint16_t *pui16Ptr;
        uint32_t ui32Byte;
        tRaster16BppDriverInst *pInst;
        int32_t lXMapped, lYMapped;

    thanks.

    LEON

  • Hello leon,

    Yes, that is possible as well.