# LGFX (/api/drivers/display/lovyan_gfx/lv_lgfx_user_hpp)



If using LovyanGFX create <ApiLink name="LGFX" /> class that inherits from lgfx::LGFX\_Device [https://github.com/lovyan03/LovyanGFX/blob/master/examples/HowToUse/2\_user\_setting/2\_user\_setting.ino](https://github.com/lovyan03/LovyanGFX/blob/master/examples/HowToUse/2_user_setting/2_user_setting.ino) If using other display drivers that is not LovyanGFX Create an <ApiLink name="LGFX" /> wrapper class that implements the functions used in lv\_lovyan\_gfx.cpp

Public Functions [#public-functions]

<ApiMember kind="function" name="LGFX">
  LGFX [#lgfx]

  ```c title=" " lineNumbers=1
  LGFX::LGFX(void)
  ```
</ApiMember>

<ApiMember kind="function" name="init">
  init [#init]

  ```c title=" " lineNumbers=1
  bool LGFX::init(void)
  ```
</ApiMember>

<ApiMember kind="function" name="initDMA">
  initDMA [#initdma]

  ```c title=" " lineNumbers=1
  void LGFX::initDMA(void)
  ```
</ApiMember>

<ApiMember kind="function" name="waitDMA">
  waitDMA [#waitdma]

  ```c title=" " lineNumbers=1
  void LGFX::waitDMA(void)
  ```
</ApiMember>

<ApiMember kind="function" name="fillScreen">
  fillScreen [#fillscreen]

  ```c title=" " lineNumbers=1
  void LGFX::fillScreen(uint16_t color)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name    | Type                        |
  | ------- | --------------------------- |
  | `color` | <ApiLink name="uint16_t" /> |
</ApiMember>

<ApiMember kind="function" name="setRotation">
  setRotation [#setrotation]

  ```c title=" " lineNumbers=1
  void LGFX::setRotation(uint8_t rotation)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name       | Type                       |
  | ---------- | -------------------------- |
  | `rotation` | <ApiLink name="uint8_t" /> |
</ApiMember>

<ApiMember kind="function" name="pushImage">
  pushImage [#pushimage]

  ```c title=" " lineNumbers=1
  void LGFX::pushImage(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name   | Type                                             |
  | ------ | ------------------------------------------------ |
  | `x`    | <ApiLink name="int32_t" />                       |
  | `y`    | <ApiLink name="int32_t" />                       |
  | `w`    | <ApiLink name="int32_t" />                       |
  | `h`    | <ApiLink name="int32_t" />                       |
  | `data` | <ApiLink name="uint16_t" display="uint16_t *" /> |
</ApiMember>

<ApiMember kind="function" name="pushImageDMA">
  pushImageDMA [#pushimagedma]

  ```c title=" " lineNumbers=1
  void LGFX::pushImageDMA(int32_t x, int32_t y, int32_t w, int32_t h, uint16_t *data)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name   | Type                                             |
  | ------ | ------------------------------------------------ |
  | `x`    | <ApiLink name="int32_t" />                       |
  | `y`    | <ApiLink name="int32_t" />                       |
  | `w`    | <ApiLink name="int32_t" />                       |
  | `h`    | <ApiLink name="int32_t" />                       |
  | `data` | <ApiLink name="uint16_t" display="uint16_t *" /> |
</ApiMember>

<ApiMember kind="function" name="startWrite">
  startWrite [#startwrite]

  ```c title=" " lineNumbers=1
  void LGFX::startWrite(void)
  ```
</ApiMember>

<ApiMember kind="function" name="getStartCount">
  getStartCount [#getstartcount]

  ```c title=" " lineNumbers=1
  uint32_t LGFX::getStartCount(void)
  ```
</ApiMember>

<ApiMember kind="function" name="endWrite">
  endWrite [#endwrite]

  ```c title=" " lineNumbers=1
  void LGFX::endWrite(void)
  ```
</ApiMember>

<ApiMember kind="function" name="setBrightness">
  setBrightness [#setbrightness]

  ```c title=" " lineNumbers=1
  void LGFX::setBrightness(uint8_t brightness)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name         | Type                       |
  | ------------ | -------------------------- |
  | `brightness` | <ApiLink name="uint8_t" /> |
</ApiMember>

<ApiMember kind="function" name="writePixel">
  writePixel [#writepixel]

  ```c title=" " lineNumbers=1
  void LGFX::writePixel(int32_t x, int32_t y, const uint16_t color)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name    | Type                                                 |
  | ------- | ---------------------------------------------------- |
  | `x`     | <ApiLink name="int32_t" />                           |
  | `y`     | <ApiLink name="int32_t" />                           |
  | `color` | <ApiLink name="uint16_t" display="const uint16_t" /> |
</ApiMember>

<ApiMember kind="function" name="getTouch">
  getTouch [#gettouch]

  ```c title=" " lineNumbers=1
  bool LGFX::getTouch(uint16_t *x, uint16_t *y)
  ```

  <span className="sr-only">
    Parameters
  </span>

  | Name | Type                                             |
  | ---- | ------------------------------------------------ |
  | `x`  | <ApiLink name="uint16_t" display="uint16_t *" /> |
  | `y`  | <ApiLink name="uint16_t" display="uint16_t *" /> |
</ApiMember>
