brush.h

来自「《光线引擎演示程序》执行程序+源代码,《光线引擎演示程序》执行程序+源代码」· C头文件 代码 · 共 164 行

H
164
字号
/*==========================================================================;
 *
 *  光线游戏引擎(Light Game Engine)
 *
 *  版权所有 (C) 2005-2007 康 旭。 保留所有权利。
 *  Copyright (C) KangXu.  All Rights Reserved.
 *
 *  文件:   brush.h
 *  内容:   画笔类
 *
 ****************************************************************************/


/*! \file brush.h * 画笔类. * 此文件是画笔类头文件. *//*! \class LightBrush * \brief 画笔类 * *  本类负 2D 和 3D 几何图像的显示,支持 2D 的点、线、矩形、读点, 3D 的点、线、多边形。 *  每个 LightBrush 实例都必须通过 LightEngine 类的 NewBrush 方法分配。 */

class LightBrush
{

public:

	/*! \fn void Color( int red, int green, int blue ) = 0	 *  \brief 设置当前作图颜色	 *	 *  设置当前作图颜色	 *	 *  \param int red 颜色红色分量	 *	 *  \param int green 颜色绿色分量	 *	 *  \param int blue 颜色蓝色分量	 *	 *  \return 无	 *	 *  \see 
	 */
	virtual void Color( int red, int green, int blue ) = 0;

	/*! \fn void Lines( vec3_t *verts, int vertnum ) = 0	 *  \brief 画线段	 *	 *  画线段	 *	 *  \param vec3_t *verts 顶点数组	 *	 *  \param int vertnum 顶点个数	 *	 *  \return 无	 *	 *  \see 
	 */
	virtual void Lines( vec3_t *verts, int vertnum ) = 0;

	/*! \fn void Points( vec3_t *verts, int vertnum ) = 0	 *  \brief 画点	 *	 *  画点	 *	 *  \param vec3_t *verts 顶点数组	 *	 *  \param int vertnum 顶点个数	 *	 *  \return 无	 *	 *  \see 
	 */
	virtual void Points( vec3_t *verts, int vertnum ) = 0;

	/*! \fn void Polygon ( vertex_t *vertex, int vertexnum, LightTexture *texture ) = 0	 *  \brief 画凸多边形	 *	 *  画凸多边形	 *	 *  \param vertex_t *vertex 顶点数组	 *	 *  \param int vertexnum 顶点个数	 *	 *  \param LightTexture *texture 多边形纹理指针	 *	 *  \return 无	 *	 *  \see 
	 */
	virtual void Polygon ( vertex_t *vertex, int vertexnum, LightTexture *texture ) = 0;

	/*! \fn unsigned long GetPoint2D( int x, int y ) = 0	 *  \brief 读取光栅点的颜色值(2D)	 *	 *  读取光栅点的颜色值(2D)	 *	 *  \param int x 光栅点的 x 坐标	 *	 *  \param int y 光栅点的 y 坐标	 *	 *  \return 返回光栅点的颜色值	 *	 *  \see 
	 */
	virtual unsigned long GetPoint2D( int x, int y ) = 0;

	/*! \fn void Line2D( int x1, int y1, int x2, int y2 ) = 0	 *  \brief 画光栅线段(2D)	 *	 *  画光栅线段(2D)	 *	 *  \param int x1 线段起始点的 x 坐标	 *	 *  \param int y1 线段起始点的 y 坐标	 *	 *  \param int x2 线段结束点的 x 坐标	 *	 *  \param int y2 线段结束点的 y 坐标	 *	 *  \return 无	 *	 *  \see 
	 */
	virtual void Line2D( int x1, int y1, int x2, int y2 ) = 0;

	/*! \fn void Rect2D( int x1, int y1, int x2, int y2 ) = 0	 *  \brief 画光栅矩形(2D)	 *	 *  画光栅矩形(2D)	 *	 *  \param int x1 矩形左上角的 x 坐标	 *	 *  \param int y1 矩形左上角的 y 坐标	 *	 *  \param int x2 矩形右下角的 x 坐标	 *	 *  \param int y2 矩形右下角的 y 坐标	 *	 *  \return 无	 *	 *  \see 
	 */
	virtual void Rect2D( int x1, int y1, int x2, int y2 ) = 0;

	/*! \fn void Point2D( int x, int y ) = 0	 *  \brief 画光栅点(2D)	 *	 *  在屏幕上指定位置用当前作图颜色画一个光栅点(2D),该函数工作在 2D 模式下。	 *	 *  \param int x 光栅点的 x 坐标	 *	 *  \param int y 光栅点的 y 坐标	 *	 *  \return 无	 *	 *  \see 
	 */
	virtual void Point2D( int x, int y ) = 0;

};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?