Tiny Graphics Interfaces
载入中...
搜索中...
未找到
结构体 | 宏定义 | 类型定义 | 枚举 | 函数
tgi.h 文件参考

Tiny Graphics Interfaces 更多...

#include <stdarg.h>

浏览源代码.

结构体

struct  TGI_Application
 应用对象类型 更多...
 
struct  TGI_Window
 窗口对象类型 更多...
 
struct  TGI_Graphics
 图形对象类型 更多...
 
struct  TGI_Image
 图像对象类型 更多...
 
struct  TGI_Font
 字体对象类型 更多...
 
struct  TGI_Timer
 计时器对象类型 更多...
 
struct  TGI_Point
 点(坐标)类型 更多...
 
struct  TGI_Rect
 矩形类型 更多...
 
struct  TGI_KeyEvent
 键盘事件类型 更多...
 
struct  TGI_MouseEvent
 鼠标事件类型 更多...
 
struct  vtable_TGI_Application_t
 应用对象的虚函数表(正常使用无需了解) 更多...
 
struct  vtable_TGI_Window_t
 窗口对象的虚函数表(正常使用无需了解) 更多...
 
struct  vtable_TGI_Graphics_t
 图形对象的虚函数表(正常使用无需了解) 更多...
 
struct  vtable_TGI_Image_t
 图片对象的虚函数表(正常使用无需了解) 更多...
 
struct  vtable_TGI_Font_t
 字体对象的虚函数表(正常使用无需了解) 更多...
 
struct  vtable_TGI_Timer_t
 计时器对象的虚函数表(正常使用无需了解) 更多...
 

宏定义

#define TGIAPI   __stdcall
 
#define TGICB   TGIAPI
 
#define TGI_COLOR(a, r, g, b)    ((((TGI_Color)(a)) << 24) | (((TGI_Color)(r)) << 16) | (((TGI_Color)(g)) << 8) | ((TGI_Color)(b)))
 创建一个ARGB颜色
 

类型定义

typedef enum TGI_Backend TGI_Backend
 图形后端类型
 
typedef enum TGI_Encoding TGI_Encoding
 文本编码类型
 
typedef struct TGI_Application TGI_Application
 应用对象类型
 
typedef struct TGI_Window TGI_Window
 窗口对象类型
 
typedef enum TGI_WindowStyle TGI_WindowStyle
 窗口风格类型
 
typedef struct TGI_Graphics TGI_Graphics
 图形对象类型
 
typedef struct TGI_Image TGI_Image
 图像对象类型
 
typedef struct TGI_Font TGI_Font
 字体对象类型
 
typedef enum TGI_FontStyle TGI_FontStyle
 字体样式类型
 
typedef enum TGI_TextAlign TGI_TextAlign
 字体对齐方法类型
 
typedef struct TGI_Timer TGI_Timer
 计时器对象类型
 
typedef unsigned int TGI_Color
 颜色类型
 
typedef struct TGI_Point TGI_Point
 点(坐标)类型
 
typedef struct TGI_Rect TGI_Rect
 矩形类型
 
typedef struct TGI_KeyEvent TGI_KeyEvent
 键盘事件类型
 
typedef struct TGI_MouseEvent TGI_MouseEvent
 鼠标事件类型
 

枚举

enum  TGI_Backend { TGI_BACKEND_GDI }
 图形后端类型 更多...
 
enum  TGI_Encoding { TGI_ENCODING_UTF8 , TGI_ENCODING_ANSI }
 文本编码类型 更多...
 
enum  TGI_WindowStyle {
  TGI_WINDOWSTYLE_WINDOW = 0 , TGI_WINDOWSTYLE_BORDER = 1 , TGI_WINDOWSTYLE_CAPTION = 2 , TGI_WINDOWSTYLE_RESIZE = 4 ,
  TGI_WINDOWSTYLE_MINIMIZEBOX = 8 , TGI_WINDOWSTYLE_MAXIMIZEBOX = 16 , TGI_WINDOWSTYLE_DEFAULT
}
 窗口风格类型 更多...
 
enum  TGI_FontStyle {
  TGI_FONTSTYLE_REGULAR = 0 , TGI_FONTSTYLE_BOLD = 1 , TGI_FONTSTYLE_ITALIC = 2 , TGI_FONTSTYLE_UNDERLINE = 4 ,
  TGI_FONTSTYLE_STRIKEOUT = 8
}
 字体样式类型 更多...
 
enum  TGI_TextAlign {
  TGI_TEXTALIGN_LEFT = 0 , TGI_TEXTALIGN_CENTER = 1 , TGI_TEXTALIGN_RIGHT = 2 , TGI_TEXTALIGN_TOP = TGI_TEXTALIGN_LEFT ,
  TGI_TEXTALIGN_BOTTOM = TGI_TEXTALIGN_RIGHT
}
 字体对齐方法类型 更多...
 

函数

static TGI_Color TGIAPI tgi_color (unsigned char a, unsigned char r, unsigned char g, unsigned char b)
 创建一个ARGB颜色
 
static void TGIAPI tgi_application_free (TGI_Application *self)
 关闭应用并释放资源
 
static void TGIAPI tgi_application_exec (TGI_Application *self)
 启动应用的事件循环
 
static int TGIAPI tgi_application_exec_once (TGI_Application *self)
 处理一次应用事件
 
static TGI_Window *TGIAPI tgi_application_create_window (TGI_Application *self)
 创建一个窗口
 
static TGI_Image *TGIAPI tgi_application_create_image (TGI_Application *self, int width, int height)
 创建一个图片
 
static TGI_Image *TGIAPI tgi_application_create_image_from_file (TGI_Application *self, const char *filename)
 从文件创建一个图片
 
static TGI_Font *TGIAPI tgi_application_create_font (TGI_Application *self, const char *name, float size, TGI_FontStyle style)
 创建一个字体
 
static TGI_Timer *TGIAPI tgi_application_create_timer (TGI_Application *self, unsigned int delay, int type, void TGIAPI callback(TGI_Timer *timer))
 创建一个计时器
 
static void TGIAPI tgi_window_free (TGI_Window *self)
 关闭窗口并释放资源
 
static void TGIAPI tgi_window_on_close (TGI_Window *self, int TGIAPI callback(TGI_Window *self))
 设置窗口关闭时将会调用的函数
 
static void TGIAPI tgi_window_on_paint (TGI_Window *self, void TGIAPI callback(TGI_Window *self))
 设置窗口需要绘制时将会调用的函数
 
static void TGIAPI tgi_window_on_size (TGI_Window *self, void TGIAPI callback(TGI_Window *self, float new_width, float new_height))
 设置窗口改变大小时将会调用的函数
 
static void TGIAPI tgi_window_on_key (TGI_Window *self, void TGIAPI callback(TGI_Window *self, TGI_KeyEvent *event))
 设置出现键盘事件时将会调用的函数
 
static void TGIAPI tgi_window_on_mouse (TGI_Window *self, void TGIAPI callback(TGI_Window *self, TGI_MouseEvent *event))
 设置出现鼠标事件时将会调用的函数
 
static int TGIAPI tgi_window_is_key_down (TGI_Window *self, char key)
 判断键盘按键是否按下
 
static void TGIAPI tgi_window_show (TGI_Window *self)
 激活窗口并以当前大小和位置显示窗口
 
static void TGIAPI tgi_window_paint (TGI_Window *self)
 调用设置的 on_paint 回调函数
 
static int TGIAPI tgi_window_set_style (TGI_Window *self, TGI_WindowStyle style)
 设置窗口风格
 
static int TGIAPI tgi_window_set_size (TGI_Window *self, int width, int height)
 设置窗口的大小
 
static int TGIAPI tgi_window_get_size (TGI_Window *self, TGI_Rect *rect)
 获取窗口大小
 
static int TGIAPI tgi_window_set_min_size (TGI_Window *self, int width, int height)
 设置窗口的最大小大小
 
static int TGIAPI tgi_window_set_max_size (TGI_Window *self, int width, int height)
 设置窗口的最大大小
 
static int TGIAPI tgi_window_set_title (TGI_Window *self, const char *title)
 设置窗口的标题
 
static TGI_Graphics *TGIAPI tgi_window_create_graphics (TGI_Window *self)
 创建绘图对象
 
static TGI_Image *TGIAPI tgi_window_create_image (TGI_Window *self)
 创建与窗口关联的图像对象
 
static void TGIAPI tgi_graphics_free (TGI_Graphics *self)
 结束绘图并释放资源
 
static int TGIAPI tgi_graphics_clear (TGI_Graphics *self, TGI_Color color)
 绘制背景颜色
 
static int TGIAPI tgi_graphics_set_color (TGI_Graphics *self, TGI_Color color)
 设置画笔颜色
 
static int TGIAPI tgi_graphics_set_width (TGI_Graphics *self, float width)
 设置画笔宽度
 
static int TGIAPI tgi_graphics_draw_line (TGI_Graphics *self, float x1, float y1, float x2, float y2)
 绘制一条从(x1, y1)到(x2,y2)的直线
 
static int TGIAPI tgi_graphics_draw_arc (TGI_Graphics *self, float x, float y, float width, float height, float start_angle, float sweep_angle)
 绘制一条弧线
 
static int TGIAPI tgi_graphics_draw_rect (TGI_Graphics *self, float x, float y, float width, float height)
 绘制一个矩形
 
static int TGIAPI tgi_graphics_draw_ellipse (TGI_Graphics *self, float x, float y, float width, float height)
 绘制一个椭圆
 
static int TGIAPI tgi_graphics_draw_pie (TGI_Graphics *self, float x, float y, float width, float height, float start_angle, float sweep_angle)
 绘制一个扇形
 
static int TGIAPI tgi_graphics_draw_polygon (TGI_Graphics *self, const TGI_Point *points, int count)
 绘制一个多边形
 
static int TGIAPI tgi_graphics_fill_rect (TGI_Graphics *self, float x, float y, float width, float height)
 填充一个矩形
 
static int TGIAPI tgi_graphics_fill_ellipse (TGI_Graphics *self, float x, float y, float width, float height)
 填充一个椭圆
 
static int TGIAPI tgi_graphics_fill_pie (TGI_Graphics *self, float x, float y, float width, float height, float start_angle, float sweep_angle)
 填充一个扇形
 
static int TGIAPI tgi_graphics_fill_polygon (TGI_Graphics *self, const TGI_Point *points, int count)
 填充一个多边形
 
static int TGIAPI tgi_graphics_draw_image (TGI_Graphics *self, const TGI_Image *image, float x, float y)
 在指定的位置绘制一个图片
 
static int TGIAPI tgi_graphics_draw_image_rect (TGI_Graphics *self, const TGI_Image *image, float x, float y, float width, float height)
 在指定的矩形内绘制一个图片
 
static int TGIAPI tgi_graphics_draw_image_ex (TGI_Graphics *self, const TGI_Image *image, float x, float y, float src_x, float src_y, float src_width, float src_height)
 在指定的位置绘制图片的部分
 
static int TGIAPI tgi_graphics_draw_image_rect_ex (TGI_Graphics *self, const TGI_Image *image, float x, float y, float width, float height, float src_x, float src_y, float src_width, float src_height)
 在指定的位置绘制图片的部分
 
static int TGIAPI tgi_graphics_draw_text (TGI_Graphics *self, const char *text, const TGI_Font *font, float x, float y)
 在指定位置绘制文字
 
static int TGIAPI tgi_graphics_draw_text_rect (TGI_Graphics *self, const char *text, const TGI_Font *font, float x, float y, float width, float height)
 在指定矩形绘制文字
 
static void TGIAPI tgi_image_free (TGI_Image *self)
 释放图片资源
 
static TGI_Image *TGIAPI tgi_image_clone (TGI_Image *self)
 复制图片
 
static int TGIAPI tgi_image_get_size (TGI_Image *self, TGI_Rect *rect)
 获取图片大小
 
static TGI_Graphics *TGIAPI tgi_image_create_graphics (TGI_Image *self)
 开始在图片上绘图
 
static void TGIAPI tgi_font_free (TGI_Font *self)
 释放字体资源
 
static int TGIAPI tgi_font_set_align (TGI_Font *self, TGI_TextAlign align)
 设置横向的文本对齐方式
 
static int TGIAPI tgi_font_set_vertical_align (TGI_Font *self, TGI_TextAlign align)
 设置竖直方向的文本对齐方式
 
static void tgi_timer_free (TGI_Timer *self)
 关闭计时器并释放资源
 
TGI_Application *TGIAPI tgi_application_create (TGI_Backend backend, TGI_Encoding encoding)
 创建使用指定绘图后端的应用
 

详细描述

Tiny Graphics Interfaces

作者
xgugugu

C语言的极简图形库

注解
本库支持自动DPI缩放,如无特殊说明,所有坐标(像素)均为逻辑坐标(逻辑像素)

宏定义说明

◆ TGI_COLOR

#define TGI_COLOR (   a,
  r,
  g,
 
)     ((((TGI_Color)(a)) << 24) | (((TGI_Color)(r)) << 16) | (((TGI_Color)(g)) << 8) | ((TGI_Color)(b)))

创建一个ARGB颜色

参数
a透明度(0-255)
r红色(0-255)
g绿色(0-255)
b蓝色(0-255)
返回
所创建的颜色

类型定义说明

◆ TGI_Application

◆ TGI_Backend

typedef enum TGI_Backend TGI_Backend

图形后端类型

参见
TGI_BACKEND_GDI

◆ TGI_Color

typedef unsigned int TGI_Color

颜色类型

参见
TGI_COLOR

◆ TGI_Encoding

typedef enum TGI_Encoding TGI_Encoding

文本编码类型

参见
TGI_ENCODING_UTF8
TGI_ENCODING_ANSI

◆ TGI_Font

typedef struct TGI_Font TGI_Font

◆ TGI_FontStyle

◆ TGI_Graphics

typedef struct TGI_Graphics TGI_Graphics

◆ TGI_Image

typedef struct TGI_Image TGI_Image

◆ TGI_KeyEvent

typedef struct TGI_KeyEvent TGI_KeyEvent

键盘事件类型

参见
tgi_window_on_key

◆ TGI_MouseEvent

鼠标事件类型

参见
tgi_window_on_mouse

◆ TGI_TextAlign

◆ TGI_Timer

typedef struct TGI_Timer TGI_Timer

计时器对象类型

参见
tgi_application_create_timer
tgi_timer_free

◆ TGI_Window

typedef struct TGI_Window TGI_Window

◆ TGI_WindowStyle

枚举类型说明

◆ TGI_Backend

图形后端类型

参见
TGI_BACKEND_GDI
枚举值
TGI_BACKEND_GDI 

GDI/GDI+ 图形后端,支持 Windows XP 及以上的操作系统

◆ TGI_Encoding

文本编码类型

参见
TGI_ENCODING_UTF8
TGI_ENCODING_ANSI
枚举值
TGI_ENCODING_UTF8 

UTF-8 编码

TGI_ENCODING_ANSI 

ANSI 编码

注意
仅支持 Windows 操作系统

◆ TGI_FontStyle

字体样式类型

参见
TGI_FONTSTYLE_REGULAR
TGI_FONTSTYLE_BOLD
TGI_FONTSTYLE_ITALIC
TGI_FONTSTYLE_UNDERLINE
TGI_FONTSTYLE_STRIKEOUT
枚举值
TGI_FONTSTYLE_REGULAR 

标准

TGI_FONTSTYLE_BOLD 

加粗

TGI_FONTSTYLE_ITALIC 

斜体

TGI_FONTSTYLE_UNDERLINE 

下划线

TGI_FONTSTYLE_STRIKEOUT 

删除线

◆ TGI_TextAlign

字体对齐方法类型

参见
TGI_TEXTALIGN_LEFT
TGI_TEXTALIGN_CENTER
TGI_TEXTALIGN_RIGHT
TGI_TEXTALIGN_TOP
TGI_TEXTALIGN_BOTTOM
枚举值
TGI_TEXTALIGN_LEFT 

靠左

TGI_TEXTALIGN_CENTER 

居中

TGI_TEXTALIGN_RIGHT 

靠右

TGI_TEXTALIGN_TOP 

靠上

TGI_TEXTALIGN_BOTTOM 

靠下

◆ TGI_WindowStyle

窗口风格类型

参见
TGI_WINDOWSTYLE_WINDOW
TGI_WINDOWSTYLE_BORDER
TGI_WINDOWSTYLE_CAPTION
TGI_WINDOWSTYLE_RESIZE
TGI_WINDOWSTYLE_MINIMIZEBOX
TGI_WINDOWSTYLE_MAXIMIZEBOX
TGI_WINDOWSTYLE_DEFAULT
枚举值
TGI_WINDOWSTYLE_WINDOW 

基础

TGI_WINDOWSTYLE_BORDER 

有边框

TGI_WINDOWSTYLE_CAPTION 

有标题

TGI_WINDOWSTYLE_RESIZE 

可调节大小

TGI_WINDOWSTYLE_MINIMIZEBOX 

有最小化按钮

TGI_WINDOWSTYLE_MAXIMIZEBOX 

有最大化按钮

TGI_WINDOWSTYLE_DEFAULT 

默认

函数说明

◆ tgi_application_create()

TGI_Application *TGIAPI tgi_application_create ( TGI_Backend  backend,
TGI_Encoding  encoding 
)

创建使用指定绘图后端的应用

参数
backend需要使用的图形后端
encoding需要使用的编码方式
返回
若函数成功,返回所创建应用对象的指针;否则,返回NULL
注意
推荐使用 UTF-8 编码,因为其在所有平台上都将是可用的; 其余编码方式仅适用于不支持 UTF-8 编码的开发环境(如:Dev-C++)
参见
TGI_Application

◆ tgi_application_create_font()

static TGI_Font *TGIAPI tgi_application_create_font ( TGI_Application self,
const char *  name,
float  size,
TGI_FontStyle  style 
)
inlinestatic

创建一个字体

参数
self应用对象指针
name字体名称
size字体大小(单位为像素)
返回
若函数成功,返回所创建的字体对象的指针;否则,返回NULL
参见
TGI_Font

◆ tgi_application_create_image()

static TGI_Image *TGIAPI tgi_application_create_image ( TGI_Application self,
int  width,
int  height 
)
inlinestatic

创建一个图片

参数
self应用对象指针
width图片的宽度(单位为真实像素)
height图片的高度(单位为真实像素)
返回
若函数成功,返回所创建的图片对象的指针;否则,返回NULL
注意
该函数创建的图片与当前屏幕缩放无关,操作这个图片始终使用真实像素(坐标)
参见
TGI_Image

◆ tgi_application_create_image_from_file()

static TGI_Image *TGIAPI tgi_application_create_image_from_file ( TGI_Application self,
const char *  filename 
)
inlinestatic

从文件创建一个图片

参数
self应用对象指针
width图片的宽度(单位为真实像素)
height图片的高度(单位为真实像素)
返回
若函数成功,返回所创建的图片对象的指针;否则,返回NULL
注意
该函数创建的图片与当前屏幕缩放无关,操作这个图片始终使用真实像素(坐标)
参见
TGI_Image

◆ tgi_application_create_timer()

static TGI_Timer *TGIAPI tgi_application_create_timer ( TGI_Application self,
unsigned int  delay,
int  type,
void TGIAPI   callbackTGI_Timer *timer 
)
inlinestatic

创建一个计时器

参数
self应用对象指针
delay延时(单位为毫秒)
type若为0,则在delay毫秒后调用回调函数;否则,在每隔delay毫秒调用一次回调函数
callback回调函数
返回
若函数成功,返回所创建的计时器对象的指针;否则,返回NULL
注意
请在合适的时机(如回调函数内),释放返回的计时器对象
参见
TGI_Timer

◆ tgi_application_create_window()

static TGI_Window *TGIAPI tgi_application_create_window ( TGI_Application self)
inlinestatic

创建一个窗口

参数
self应用对象指针
返回
若函数成功,返回所创建的窗口对象的指针;否则,返回NULL
参见
TGI_Window

◆ tgi_application_exec()

static void TGIAPI tgi_application_exec ( TGI_Application self)
inlinestatic

启动应用的事件循环

参数
self应用对象指针

◆ tgi_application_exec_once()

static int TGIAPI tgi_application_exec_once ( TGI_Application self)
inlinestatic

处理一次应用事件

参数
self应用对象指针
返回
若函数成功且事件循环未结束,返回非零值;若事件循环结束,返回0;否则,返回-1

◆ tgi_application_free()

static void TGIAPI tgi_application_free ( TGI_Application self)
inlinestatic

关闭应用并释放资源

参数
self应用对象指针

◆ tgi_color()

static TGI_Color TGIAPI tgi_color ( unsigned char  a,
unsigned char  r,
unsigned char  g,
unsigned char  b 
)
inlinestatic

创建一个ARGB颜色

参见
TGI_COLOR

◆ tgi_font_free()

static void TGIAPI tgi_font_free ( TGI_Font self)
inlinestatic

释放字体资源

参数
self字体对象指针

◆ tgi_font_set_align()

static int TGIAPI tgi_font_set_align ( TGI_Font self,
TGI_TextAlign  align 
)
inlinestatic

设置横向的文本对齐方式

参数
self字体对象指针
align文本对齐方式
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_font_set_vertical_align()

static int TGIAPI tgi_font_set_vertical_align ( TGI_Font self,
TGI_TextAlign  align 
)
inlinestatic

设置竖直方向的文本对齐方式

参数
self字体对象指针
align文本对齐方式
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_clear()

static int TGIAPI tgi_graphics_clear ( TGI_Graphics self,
TGI_Color  color 
)
inlinestatic

绘制背景颜色

参数
self绘图对象指针
color颜色
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_arc()

static int TGIAPI tgi_graphics_draw_arc ( TGI_Graphics self,
float  x,
float  y,
float  width,
float  height,
float  start_angle,
float  sweep_angle 
)
inlinestatic

绘制一条弧线

参数
self绘图对象指针
x圆弧所在椭圆的外切矩形的左上角x坐标
y圆弧所在椭圆的外切矩形的左上角y坐标
width圆弧所在椭圆的外切矩形的宽度
height圆弧所在椭圆的外切矩形的高度
start_angle圆弧起始角的角度
sweep_angle圆弧终止角的角度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_ellipse()

static int TGIAPI tgi_graphics_draw_ellipse ( TGI_Graphics self,
float  x,
float  y,
float  width,
float  height 
)
inlinestatic

绘制一个椭圆

参数
self绘图对象指针
x椭圆的外切矩形的左上角x坐标
y椭圆的外切矩形的左上角y坐标
width椭圆的外切矩形的宽度
height椭圆的外切矩形的高度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_image()

static int TGIAPI tgi_graphics_draw_image ( TGI_Graphics self,
const TGI_Image image,
float  x,
float  y 
)
inlinestatic

在指定的位置绘制一个图片

参数
self绘图对象指针
image图片对象指针
x表示图片左上角的x坐标
y表示图片左上角的y坐标
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_image_ex()

static int TGIAPI tgi_graphics_draw_image_ex ( TGI_Graphics self,
const TGI_Image image,
float  x,
float  y,
float  src_x,
float  src_y,
float  src_width,
float  src_height 
)
inlinestatic

在指定的位置绘制图片的部分

参数
self绘图对象指针
image图片对象指针
x表示图片左上角的x坐标(单位为逻辑像素)
y表示图片左上角的y坐标(单位为逻辑像素)
src_x表示截取图片左上角的x坐标(单位为真实像素)
src_y表示截取图片左上角的y坐标(单位为真实像素)
src_width表示截取图片的宽度(单位为真实像素)
src_height表示截取图片的高度(单位为真实像素)
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_image_rect()

static int TGIAPI tgi_graphics_draw_image_rect ( TGI_Graphics self,
const TGI_Image image,
float  x,
float  y,
float  width,
float  height 
)
inlinestatic

在指定的矩形内绘制一个图片

参数
self绘图对象指针
image图片对象指针
x表示图片左上角的x坐标
y表示图片左上角的y坐标
width表示绘制的宽度
height表示绘制的高度
注解
若图片大小与矩形的大小不等,则会拉伸图片以适应矩形大小
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_image_rect_ex()

static int TGIAPI tgi_graphics_draw_image_rect_ex ( TGI_Graphics self,
const TGI_Image image,
float  x,
float  y,
float  width,
float  height,
float  src_x,
float  src_y,
float  src_width,
float  src_height 
)
inlinestatic

在指定的位置绘制图片的部分

参数
self绘图对象指针
image图片对象指针
x表示绘制左上角的x坐标(单位为逻辑像素)
y表示绘制左上角的y坐标(单位为逻辑像素)
width表示绘制的宽度(单位为逻辑像素)
height表示绘制的高度(单位为逻辑像素)
src_x表示截取图片左上角的x坐标(单位为真实像素)
src_y表示截取图片左上角的y坐标(单位为真实像素)
src_width表示截取图片的宽度(单位为真实像素)
src_height表示截取图片的高度(单位为真实像素)
返回
若函数成功,返回非零值;否则,返回0
自从
v0.2.0

◆ tgi_graphics_draw_line()

static int TGIAPI tgi_graphics_draw_line ( TGI_Graphics self,
float  x1,
float  y1,
float  x2,
float  y2 
)
inlinestatic

绘制一条从(x1, y1)到(x2,y2)的直线

参数
self绘图对象指针
x1直线起点的x坐标
y1直线起点的y坐标
x2直线终点的x坐标
y2直线终点的y坐标
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_pie()

static int TGIAPI tgi_graphics_draw_pie ( TGI_Graphics self,
float  x,
float  y,
float  width,
float  height,
float  start_angle,
float  sweep_angle 
)
inlinestatic

绘制一个扇形

参数
self绘图对象指针
x扇形所在椭圆的外切矩形的左上角x坐标
y扇形所在椭圆的外切矩形的左上角y坐标
width扇形所在椭圆的外切矩形的宽度
height扇形所在椭圆的外切矩形的高度
start_angle扇形起始角的角度
sweep_angle扇形终止角的角度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_polygon()

static int TGIAPI tgi_graphics_draw_polygon ( TGI_Graphics self,
const TGI_Point points,
int  count 
)
inlinestatic

绘制一个多边形

参数
self绘图对象指针
points表示多边形顶点的数组
count多边形点的数目
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_rect()

static int TGIAPI tgi_graphics_draw_rect ( TGI_Graphics self,
float  x,
float  y,
float  width,
float  height 
)
inlinestatic

绘制一个矩形

参数
self绘图对象指针
x矩形的左上角x坐标
y矩形的左上角y坐标
width矩形的宽度
height矩形的高度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_text()

static int TGIAPI tgi_graphics_draw_text ( TGI_Graphics self,
const char *  text,
const TGI_Font font,
float  x,
float  y 
)
inlinestatic

在指定位置绘制文字

参数
self绘图对象指针
text要绘制的字符串
font绘制的字体
x表示绘制位置的x坐标
y表示绘制位置的y坐标
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_draw_text_rect()

static int TGIAPI tgi_graphics_draw_text_rect ( TGI_Graphics self,
const char *  text,
const TGI_Font font,
float  x,
float  y,
float  width,
float  height 
)
inlinestatic

在指定矩形绘制文字

参数
self绘图对象指针
text要绘制的字符串
font绘制的字体
x表示绘制矩形左上角的x坐标
y表示绘制矩形左上角的y坐标
width表示绘制矩形的高度
height表示绘制矩形的宽度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_fill_ellipse()

static int TGIAPI tgi_graphics_fill_ellipse ( TGI_Graphics self,
float  x,
float  y,
float  width,
float  height 
)
inlinestatic

填充一个椭圆

参数
self绘图对象指针
x椭圆的外切矩形的左上角x坐标
y椭圆的外切矩形的左上角y坐标
width椭圆的外切矩形的宽度
height椭圆的外切矩形的高度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_fill_pie()

static int TGIAPI tgi_graphics_fill_pie ( TGI_Graphics self,
float  x,
float  y,
float  width,
float  height,
float  start_angle,
float  sweep_angle 
)
inlinestatic

填充一个扇形

参数
self绘图对象指针
x扇形所在椭圆的外切矩形的左上角x坐标
y扇形所在椭圆的外切矩形的左上角y坐标
width扇形所在椭圆的外切矩形的宽度
height扇形所在椭圆的外切矩形的高度
start_angle扇形起始角的角度
sweep_angle扇形终止角的角度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_fill_polygon()

static int TGIAPI tgi_graphics_fill_polygon ( TGI_Graphics self,
const TGI_Point points,
int  count 
)
inlinestatic

填充一个多边形

参数
self绘图对象指针
points表示多边形顶点的数组
count多边形点的数目
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_fill_rect()

static int TGIAPI tgi_graphics_fill_rect ( TGI_Graphics self,
float  x,
float  y,
float  width,
float  height 
)
inlinestatic

填充一个矩形

参数
self绘图对象指针
x矩形的左上角x坐标
y矩形的左上角y坐标
width矩形的宽度
height矩形的高度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_free()

static void TGIAPI tgi_graphics_free ( TGI_Graphics self)
inlinestatic

结束绘图并释放资源

参数
self绘图对象指针

◆ tgi_graphics_set_color()

static int TGIAPI tgi_graphics_set_color ( TGI_Graphics self,
TGI_Color  color 
)
inlinestatic

设置画笔颜色

参数
self绘图对象指针
color颜色
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_graphics_set_width()

static int TGIAPI tgi_graphics_set_width ( TGI_Graphics self,
float  width 
)
inlinestatic

设置画笔宽度

参数
self绘图对象指针
width宽度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_image_clone()

static TGI_Image *TGIAPI tgi_image_clone ( TGI_Image self)
inlinestatic

复制图片

参数
self图片对象指针
返回
若函数成功,返回复制的图片对象指针;否则,返回NULL
参见
TGI_Image

◆ tgi_image_create_graphics()

static TGI_Graphics *TGIAPI tgi_image_create_graphics ( TGI_Image self)
inlinestatic

开始在图片上绘图

参数
self图片对象指针
返回
若函数成功,返回创建的绘图对象指针;否则,返回0
注意
绘图对象的缩放设置同图片的缩放设置
参见
TGI_Graphics

◆ tgi_image_free()

static void TGIAPI tgi_image_free ( TGI_Image self)
inlinestatic

释放图片资源

参数
self图片对象指针

◆ tgi_image_get_size()

static int TGIAPI tgi_image_get_size ( TGI_Image self,
TGI_Rect rect 
)
inlinestatic

获取图片大小

参数
self图片对象指针
rect指向 TGI_Rect 对象的指针
返回
若函数成功,返回非零值;否则,返回0
注解
rect的right成员存放图片的宽度,bottom成员存放图片的高度(单位为真实像素)

◆ tgi_timer_free()

static void tgi_timer_free ( TGI_Timer self)
inlinestatic

关闭计时器并释放资源

参数
self计时器对象指针

◆ tgi_window_create_graphics()

static TGI_Graphics *TGIAPI tgi_window_create_graphics ( TGI_Window self)
inlinestatic

创建绘图对象

参数
self窗口对象指针
返回
若函数成功,返回所创建绘图对象的指针;否则,返回NULL
注意
不能在释放该对象前创建第二个绘图对象
参见
TGI_Graphics

◆ tgi_window_create_image()

static TGI_Image *TGIAPI tgi_window_create_image ( TGI_Window self)
inlinestatic

创建与窗口关联的图像对象

参数
self窗口对象指针
返回
若函数成功,返回所创建图像对象的指针;否则,返回NULL
注意
该函数创建的图片大小与窗口大小相等,且拥有相同的缩放设置
参见
TGI_Graphics

◆ tgi_window_free()

static void TGIAPI tgi_window_free ( TGI_Window self)
inlinestatic

关闭窗口并释放资源

参数
self窗口对象指针

◆ tgi_window_get_size()

static int TGIAPI tgi_window_get_size ( TGI_Window self,
TGI_Rect rect 
)
inlinestatic

获取窗口大小

参数
self窗口对象指针
rect指向 TGI_Rect 对象的指针
返回
若函数成功,返回非零值;否则,返回0
注解
rect的right成员存放窗口的宽度,bottom成员存放窗口的高度

◆ tgi_window_is_key_down()

static int TGIAPI tgi_window_is_key_down ( TGI_Window self,
char  key 
)
inlinestatic

判断键盘按键是否按下

参数
self窗口对象指针
key表示键盘按键的ASCII码
返回
若按键按下,则返回非零值;否则,返回0

◆ tgi_window_on_close()

static void TGIAPI tgi_window_on_close ( TGI_Window self,
int TGIAPI   callbackTGI_Window *self 
)
inlinestatic

设置窗口关闭时将会调用的函数

参数
self窗口对象指针
callback回调函数
注解
若回调函数返回0,则阻止窗口关闭;否则,允许窗口关闭

◆ tgi_window_on_key()

static void TGIAPI tgi_window_on_key ( TGI_Window self,
void TGIAPI   callbackTGI_Window *self, TGI_KeyEvent *event 
)
inlinestatic

设置出现键盘事件时将会调用的函数

参数
self窗口对象指针
callback回调函数

◆ tgi_window_on_mouse()

static void TGIAPI tgi_window_on_mouse ( TGI_Window self,
void TGIAPI   callbackTGI_Window *self, TGI_MouseEvent *event 
)
inlinestatic

设置出现鼠标事件时将会调用的函数

参数
self窗口对象指针
callback回调函数

◆ tgi_window_on_paint()

static void TGIAPI tgi_window_on_paint ( TGI_Window self,
void TGIAPI   callbackTGI_Window *self 
)
inlinestatic

设置窗口需要绘制时将会调用的函数

参数
self窗口对象指针
callback回调函数

◆ tgi_window_on_size()

static void TGIAPI tgi_window_on_size ( TGI_Window self,
void TGIAPI   callbackTGI_Window *self, float new_width, float new_height 
)
inlinestatic

设置窗口改变大小时将会调用的函数

参数
self窗口对象指针
callback回调函数

◆ tgi_window_paint()

static void TGIAPI tgi_window_paint ( TGI_Window self)
inlinestatic

调用设置的 on_paint 回调函数

参数
self窗口对象指针

◆ tgi_window_set_max_size()

static int TGIAPI tgi_window_set_max_size ( TGI_Window self,
int  width,
int  height 
)
inlinestatic

设置窗口的最大大小

参数
self窗口对象指针
width窗口的最大宽度
height窗口的最大高度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_window_set_min_size()

static int TGIAPI tgi_window_set_min_size ( TGI_Window self,
int  width,
int  height 
)
inlinestatic

设置窗口的最大小大小

参数
self窗口对象指针
width窗口的最小宽度
height窗口的最小高度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_window_set_size()

static int TGIAPI tgi_window_set_size ( TGI_Window self,
int  width,
int  height 
)
inlinestatic

设置窗口的大小

参数
self窗口对象指针
width窗口的新宽度
height窗口的新高度
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_window_set_style()

static int TGIAPI tgi_window_set_style ( TGI_Window self,
TGI_WindowStyle  style 
)
inlinestatic

设置窗口风格

参数
self窗口对象指针
style窗口风格
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_window_set_title()

static int TGIAPI tgi_window_set_title ( TGI_Window self,
const char *  title 
)
inlinestatic

设置窗口的标题

参数
self窗口对象指针
title窗口的新标题
返回
若函数成功,返回非零值;否则,返回0

◆ tgi_window_show()

static void TGIAPI tgi_window_show ( TGI_Window self)
inlinestatic

激活窗口并以当前大小和位置显示窗口

参数
self窗口对象指针