Agar工作笔记(更新中...)

由于早期需要使用AGAR图形库,限于网上关于AGAR图形库资料很少,且大多为英文资料,因此将编程中使用到的一些函数对照官网资料加以翻译说明,以便于自己查阅使用,同时也可为刚接触AGAR图形编程的同学提供参考。
由于本人水平有限,函数说明并不十分准确,仅作为参考使用。如需知悉函数准确信息可查阅agar官网资料:
http://libagar.org/mdoc.cgi?man=AG_Intro.3&printable=y
 
Agar is a graphical application toolkit. It provides all types of graphical applications, written in different languages, with consistent interfaces across a wide array of platforms.
AG_Core(3): 这些函数负责初始化agar的内部和子系统。
int AG_InitCore (const char *progname, Uint flags):函数初始化内部agar-Core库的数据结构,它必须在AG_函数前请求。progname取任意名。
void AG_Quit(void) :通过释放agar-core的资源分配和请求exit(2)马上终止应用程序。
void AG_Destroy (void):立即释放所有Agar的资源分配。


AG_InitGraphics(3):使用AG_InitCore(3)后,AGAR-GUI请求依然需要初始化图形设备。
int AG_InitVideo (int w, int h, int depth, Uint flags):函数可替代AG_InitGraphics(),初始化图像系统。


AG_GetError(3):这些函数描述在使用agar库时出现的错误。
const char* AG_GetError(void):函数返回AG_SetError()设置的错误信息。


AG_GlobalKeys(3):
void AG_BindGlobalKey (AG_KeySym key, AG_KeyMod mod, void (*fn)(void)):用户按下特定组合键,执行函数fn响应。


AG_Window(3):
AG_Window * AG_WindowNew (Uint flags):分配、初始化和贴上一个新的窗口。
AG_Window * AG_WindowNewNamed (Uint flags, const char *format, ...):函数创建一个新的命名窗口。如果一个同名窗口存在,函数只将焦点移动到该窗口,并返回NULL。名称可包含除‘/’外任何打印字符。
void AG_WindowSetPadding (AG_Window *win, int paddingLeft, int paddingRight, int paddingTop, int paddingBottom):函数设定窗口部件与边框的空间。
void AG_WindowSetCaption (AG_Window *win, const char *format, ...):函数使文本显示在标题栏里(如果有)。如果字符串长度超过显示最大长度,则忽略超过部分。
void AG_WindowSetGeometryAligned (AG_Window *win, enum ag_window_alignment alignment, int w, int h):设定窗口像素与位置。
void AG_WindowShow (AG_Window *win):函数使得指定的窗口可见。
void AG_WindowMaximize (AG_Window *win):使窗口取最大值。
void AG_WindowSetGeometryAligned (AG_Window *win, enum ag_window_alignment alignment, int w, int h):设置窗口大小(按像素)
void AG_WindowSetGeometryAlignedPct (AG_Window *win, enum ag_window_alignment alignment, int wPct, int hPct):设置窗口大小(按区域)。


AG_Label(3):这些函数显示单行或多行文本。
AG_Label * AG_LabelNew (AG_Widget *parent, Uint flags, const char *fmt, ...):函数分配、初始化和贴上一个标签,并在最初时显示给定的文本。


AG_EventLoop(3):

AG_Text(3):
void AG_TextMsg (enum ag_text_msg_title title, const char *format, ...):显示一个文本消息窗口包含给定格式的字符串(format),和一个OK按钮。
void AG_TextParseFontSpec (const char *fontspec):函数解析字体规范如大小、样式和分配默认字体。
void AG_TextFont (AG_Font *font):选择字体。


AG_Console(3):以日志格式显示一组信息,显示屏会自动滚动显示新信息。
AG_Console * AG_ConsoleNew (AG_Widget *parent, Uint flags):分配、初始化和贴上一个信息显示箱。


AG_Widget(3):
void AG_Expand (AG_Widget *widget):扩展部件显示范围,使其显示部分充满显示框。
void AG_ExpandHoriz (AG_Widget *widget):


AG_Box(3):
AG_Box * AG_BoxNew (AG_Widget *parent, enum ag_box_type type, Uint flags):分配、初始化和贴上一个新的盒子部件。
AG_Box * AG_BoxNewHoriz (AG_Widget *parent, Uint flags):创建,并规定按键垂直方式显示。


AG_Button(3):实现了一个简单的按钮显示图像或文字标签.AG_Button可以用来触发事件,或控制一个布尔值。
AG_Button * AG_ButtonNew (AG_Widget *parent, Uint flags, const char *format, ...):分配、初始化和贴上一个AG_Button小部件。按键无文本标题。
AG_Button * AG_ButtonNewFn (AG_Widget *parent, Uint flags, const char *label, void (*fn)(AG_Event *), const char *fnArgs, ...):创建一个按钮和设置一个回调(事件处理程序)函数,当按钮被按下时被执行。
void AG_ButtonSurface (AG_Button *button, AG_Surface *su):指定的surface上设置按键标签。


AG_Console(3):
AG_ConsoleMsg():添加一个新的信息到控制台日志并返回一个新创建的AG_ConsoleLine结构.
AG_ConsoleClear():删除所有条目。


AG_Event(3):
void * AG_PTR (int index):返回一个指针,指针指向依赖于index数据。
AG_Event * AG_SetEvent (AG_Object *obj, const char *event_name, void (*fn)(AG_Event *event), const char *fnArgs, ...):为事件类型注册一个新的事件处理程序,如果一个事件处理程序已给给定的事件类型注册了,它被替换。使用fn参数是一个事件处理函数指针,fnArgs是一种特殊的格式字符串指定为应传递到事件处理函数的参数列表。


AG_Time(3):
Uint32 AG_GetTicks (void):函数返回初始化agar库所需的毫秒数。


AG_FileDlg(3):
AG_FileDlg* AG_FileDlgNew (AG_Widget *parent, Uint flags):函数分配、初始化和贴上一个AG_FileDlg控件。
void AG_FileDlgSetDirectoryMRU (AG_FileDlg *file_dlg, const char *mruKey, const char *defaultDir):根据AG_Config(3)参数名设定工作路径。假如没有给出路径参数,则将被设为默认路径。
void AG_FileDlgSetFilename (AG_FileDlg *file_dlg, const char *format, ...):函数设置文件名初始显示在文本盒。它通常用于文件保存对话。
AG_FileType * AG_FileDlgAddType (AG_FileDlg *file_dlg, const char *descr, const char *exts, void (*fn)(AG_Event *), const char *fnArgs, ...):
AG_FileOption * AG_FileOptionNewBool (AG_FileType *type, const char *descr, const char *key, int default):
void AG_FileDlgSetOptionContainer (AG_FileDlg *file_dlg, AG_Widget *container):


AG_Pixmap:

AG_Notebook:用于维护一个AG_Box容器,同一时刻是有一个可见。
AG_Notebook * AG_NotebookNew (AG_Widget *parent, Uint flags):函数分配,初始化,并附加了一个新AG_Notebook部件。
AG_NotebookTab * AG_NotebookAddTab (AG_Notebook *nb, const char *name, enum ag_box_type type):创建一个带新标签的容器。


AG_Fixed:The AG_Fixed container widgets positions its children at specific locations given in pixels. It is useful for positioning cosmetic components applications such as games, running at fixed resolutions. 
AG_Fixed * AG_FixedNew (AG_Widget *parent, Uint flags):函数创建、初始化、并添加一个新的AG_Fixed部件。


AG_Toolbar
AG_Toolbar * AG_ToolbarNew (AG_Widget *parent, enum ag_toolbar_type, int nRows, Uint flags):函数分配、初始化,贴上一个新的AG_Toolbar部件。
void AG_ToolbarRow (AG_Toolbar *toolbar, int row_name):为后续的操作指定行数。
AG_Button * AG_ToolbarButton (AG_Toolbar *toolbar, const char *text, int enable_default, void (*fn)(AG_Event *), const char *fnArgs, ...):函数创建一个新的按钮,显示给定的文本,并将其附加到当前行。如果enable_default参数为1,这个按钮是默认启用的。 FN和fnArg的参数指定事件处理函数(见细节(3)AG_Event)。每当用户点击按钮时,回调函数将被调用。


AG_Separator:
AG_Separator * AG_SeparatorNew (AG_Widget *parent, enum ag_separator_type type):函数创建一个新的分离器,显示一个可见行。
The AG_SeparatorNewHoriz(AG_Widget *parent), AG_SeparatorNewVert(AG_Widget *parent), AG_SpacerNewHoriz(AG_Widget *parent) and AG_SpacerNewVert(AG_Widget *parent) :函数变种不带类型变量参数.


AG_Numerical:
AG_Numerical * AG_NumericalNew (AG_Widget *parent, Uint flags, const char *unit, const char *format, ...):函数分配、初始化,贴上一个新的AG_NumbericalNew部件。
AG_Numerical * AG_NumericalNew* :构建部件同时分配一个类型默认值。
void AG_NumericalSizeHint (AG_Numerical *num, const char *sizeHint):请求可以显示全部sizeHint(见AG_SizeSpec(3))初始几何形状的AG_Numerical部件。
void AG_NumericalSetPrecision (AG_Numerical *num, const char *fmt, int precision):函数为打印输出选择样式与精确度,默认是0.2%f。


AG_Variable:
AG_Variable * AG_SetDouble (AG_Object *obj, const char *name, double val):

你可能感兴趣的:(Agar工作笔记(更新中...))