📄 text.h
字号:
/*==========================================================================;
*
* 光线游戏引擎(Light Game Engine)
*
* 版权所有 (C) 2005-2007 康 旭。 保留所有权利。
* Copyright (C) KangXu. All Rights Reserved.
*
* 文件: text.h
* 内容: 文字类
*
****************************************************************************/
/*! \file text.h * 文字函数. * 此文件是文字函数头文件. */
/* 文字背景混合模式 */
#define LIGHT_TRANSPARENT 0 // 透明的
#define LIGHT_OPAQUE 1 // 不透明的
/*! \class LightText * \brief 文字类 * * 本类负责文字的高速显示,支持中文显示。同时支持各种字体、大小、间隔、旋转、斜体、下划线、各种质量的文字显示。 * 每个 LightText 实例都必须通过 LightEngine 类的 NewText 方法分配。 */
class LightText
{
public:
/*! \fn void DrawText( const char *lpString ) = 0 * \brief 显示指定的文字(支持中文) * * 显示指定的文字(支持中文) * * \param const char *lpString 要显示的字符串,以 0 结束,支持中文 * * \remarks 这里是相关的备注信息。 * * \return 本函数没有返回值。
*/
virtual void DrawText( const char *lpString ) = 0;
/*! \fn int GetTextSize( const char *lpString, LPSIZE lpSize ) = 0 * \brief 查询字符串的宽度和高度 * * 查询字符串的宽度和高度 * * \param const char *lpString 要查询的字符串,以 0 结束,支持中文 * * \param LPSIZE lpSize 返回字符串宽度和高度数据的指针 * * \remarks 这里是相关的备注信息。 * * \return 本函数没有返回值。
*/
virtual int GetTextSize( const char *lpString, LPSIZE lpSize ) = 0;
/*! \fn void Color( int red, int green, int blue ) = 0 * \brief 设置当前文字颜色 * * 设置当前文字颜色 * * \param int red 颜色的红色分量 * * \param int green 颜色的绿色分量 * * \param int blue 颜色的蓝色分量 * * \remarks 红、绿、蓝三种颜色分量的有效范围均为 0-255 , 0 为最暗, 255 为最亮。 * * \return 本函数没有返回值。
*/
virtual void Color( int red, int green, int blue ) = 0;
/*! \fn int SetBackMode( int mode ) = 0 * \brief 设置文字背景混合模式 * * 设置文字背景混合模式 * * \param int mode 文字背景混合模式, LIGHT_TRANSPARENT 为透明的, LIGHT_OPAQUE 为不透明的。 * * \remarks 缺省情况下为 LIGHT_TRANSPARENT,透明的。 * * \return 返回原来的文字背景混合模式。
*/
virtual int SetBackMode( int mode ) = 0;
/*! \fn void BackColor( int red, int green, int blue ) = 0 * \brief 设置当前文字背景色 * * 设置当前文字背景色 * * \param int red 颜色的红色分量 * * \param int green 颜色的绿色分量 * * \param int blue 颜色的蓝色分量 * * \remarks 红、绿、蓝三种颜色分量的有效范围均为 0-255 , 0 为最暗, 255 为最亮。 * * \return 本函数没有返回值。
*/
virtual void BackColor( int red, int green, int blue ) = 0;
/*! \fn void SetTextPos( int x, int y ) = 0 * \brief 设置文字显示位置 * * 设置文字在屏幕上(全屏方式下)或窗口中(窗口方式下)的显示位置。 * * \param int x 文字位置的 x 坐标 * * \param int y 文字位置的 y 坐标 * * \remarks 文字应位于屏幕内(全屏方式下)或窗口中(窗口方式下),否则会无法显示。 * * \return 本函数没有返回值。
*/
virtual void SetTextPos( int x, int y ) = 0;
/*! \fn int SetCharSpace( int space ) = 0 * \brief 设置字符间距 * * 设置两个字符之间的距离 * * \param int space 两个字符之间的距离,以像素为单位 * * \remarks 一般不用设置此间距值,缺省的值即可满足大部分需要。 * * \return 返回原来的字符间距值。
*/
virtual int SetCharSpace( int space ) = 0;
/*! \fn int SetFont( const char *FontName, int Height, int Width, int Weight, int Escapement,
* bool Italic, bool Underline, bool StrikeOut, int Quality ) = 0; * \brief 设置字体 * * 设置字体 * * \param const char *FontName 指定字体 * * \param int Height 指定字体高度 * * \param int Width 指定字体宽度 * * \param int Weight 指定字体的重量(FW_BOLD=700) * * \param int Escapement 指定角度(1/10度) * * \param bool Italic 指定是否斜体 * * \param bool Underline 指定是否有下划线 * * \param bool StrikeOut 指定是否是StrikeOut字体 * * \param int Quality 指定输出质量 * * \remarks 缺省字为宋体,12号字。 * * \return 如果函数调用成功,返回非零值;如果函数调用失败,返回零。
*/
virtual int SetFont( const char *FontName, // 指定字体
int Height, // 指定字体高度
int Width, // 指定字体宽度
int Weight, // 指定字体的重量(FW_BOLD=700)
int Escapement, // 指定角度(1/10度)
bool Italic, // 指定是否斜体
bool Underline, // 指定是否有下划线
bool StrikeOut, // 指定是否是StrikeOut字体
int Quality // 指定输出质量
) = 0;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -