#ifndef HW_LIB_SIM_OLED_H
#define HW_LIB_SIM_OLED_H
#ifdef __cplusplus
extern "C" {
#endif

#include "sim_display.h"

/**
 * @brief   初始化模拟 OLED 显示
 * @param   width: [输入] 显示宽度
 * @param   height: [输入] 显示高度
 * @param   pixcolor: [输入] 像素颜色
 * @param   backcolor: [输入] 背景颜色
 * @param   scale: [输入] 显示缩放比例
 * @param   border: [输入] 是否显示边框
 * @return  void
 * @example SIM_OLED_INIT(128, 64, 0xFFFF00, 0x000000, 10, 1);
 **/
void SIM_OLED_INIT(int width, int height, uint32_t pixcolor, uint32_t backcolor, int scale, uint8_t border);

/**
 * @brief   停止模拟 OLED 显示
 * @return  void
 * @example SIM_OLED_STOP();
 **/
void SIM_OLED_STOP();

/**
 * @brief   从缓冲区绘制到模拟 OLED 显示
 * @param   buf: [输入] 缓冲区指针
 * @param   width: [输入] 图像宽度
 * @param   height: [输入] 图像高度
 * @return  void
 * @example SIM_OLED_DrawFromBuffer(buffer, 128, 64);
 **/
void SIM_OLED_DrawFromBuffer(uint8_t *buf, uint8_t width, uint8_t height);

#ifdef __cplusplus
}
#endif

#endif //HW_LIB_SIM_OLED_H
