//------------------------------------------------------------------------------
// This is Open source software. You can place this code on your site, but don't
// forget a link to my YouTube-channel: https://www.youtube.com/channel/UChButpZaL5kUUl_zTyIDFkQ
// ��� ����������� ����������� ���������������� ��������. �� ������ ���������
// ��� �� ����� �����, �� �� �������� ������� ������ �� ��� YouTube-�����
// "����������� � ���������" https://www.youtube.com/channel/UChButpZaL5kUUl_zTyIDFkQ
// �����: �������� ������ / Nadyrshin Ruslan
//------------------------------------------------------------------------------
#ifndef _GC9A01A_H
#define _GC9A01A_H



  #define GC9A01A_RESET_Port     TFT_RESET_GPIO_Port
  #define GC9A01A_RESET_Pin      TFT_RESET_Pin



  #define GC9A01A_CS_Port        TFT_CS_GPIO_Port
  #define GC9A01A_CS_Pin         TFT_CS_Pin



  #define GC9A01A_DC_Port        TFT_DC_GPIO_Port
  #define GC9A01A_DC_Pin         TFT_DC_Pin


  #define GC9A01A_BLK_Port       TFT_BLK_GPIO_Port
  #define GC9A01A_BLK_Pin        TFT_BLK_Pin

uint16_t GC9A01A_GetWidth();
uint16_t GC9A01A_GetHeight();

void GC9A01A_Init();
void GC9A01A_Update();
void GC9A01A_SleepMode(uint8_t Mode);
void GC9A01A_DisplayPower(uint8_t On);
void GC9A01A_SetBL(uint8_t Value);
void GC9A01A_DrawPixel(int16_t x, int16_t y, uint16_t color);
uint16_t GC9A01A_GetPixel(int16_t x, int16_t y);
void GC9A01A_FillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
void GC9A01A_DrawPartYX(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t *pBuff);
void GC9A01A_DrawPartXY(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t *pBuff);

#endif
