⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text.h

📁 《光线引擎演示程序》执行程序+源代码,《光线引擎演示程序》执行程序+源代码
💻 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 + -