資源簡(jiǎn)介
opengl游戲編程徐明亮版
代碼片段和文件信息
/**
*??@file??GLFont.cpp
*
*??項(xiàng)目描述:?DirectInput鍵盤演示
*??文件描述:??字體類??
*??適用平臺(tái):?Windows98/2000/NT/XP
*??
*??作者:?????WWBOSS
*??電子郵件:??wwboss123@gmail.com
*??創(chuàng)建日期:?2006-09-13
*??修改日期:?2006-12-02
*
*/?????
//========================================================
#include?“Font.h“
GLFont::GLFont()
{
}
/**?析構(gòu)函數(shù)?*/
GLFont::~GLFont()
{
if(m_hFont)
Deleteobject(m_hFont);?/**}
/**?初始化字體?*/
bool?GLFont::InitFont()
{
?
??/**???m_hFont?=?CreateFont(-26 /** 0 /** 0 /** 0 /** FW_BOLD /** FALSE /** FALSE /** FALSE /** GB2312_CHARSET /** OUT_TT_PRECIS /** CLIP_DEFAULT_PRECIS /** ANTIALIASED_QUALITY /** FF_DONTCARE|DEFAULT_PITCH /** “宋體“); /**?if(!m_hFont)
return?false;??/**??/**?初始化成功則返回true?*/
???return?true;
}
/**?在指定位置輸出字符串?*/
void?GLFont::PrintText(char?*string?float?x?float?y)
{
HBITMAP?hBitmaphOldBmp;?/** BITMAP?bm;???????????????/** SIZE?size;???????????????/** GLboolean?lptp;
HDC?hDC?=?::CreateCompatibleDC(0);?/** glGetBooleanv(GL_LIGHTING&lp);??/** glGetBooleanv(GL_TEXTURE_2D&tp);/** /**?保存和設(shè)置一些屬性?*/
glLoadIdentity();
glPushMatrix();
glTranslatef(00-10.0f);
glDisable(GL_LIGHTING);????/** glDisable(GL_TEXTURE_2D);??/** glDisable(GL_DEPTH_TEST);??/** Selectobject(hDC?m_hFont);?/** ::GetTextExtentPoint32(hDC?string?strlen(string)?&size);/** hBitmap?=?CreateBitmap(size.cx?size.cy1?1?NULL);?/** hOldBmp?=?(HBITMAP)Selectobject(hDChBitmap);?/**??
SetBkColor(hDC?RGB(0?0?0));??????????????/** SetTextColor(hDC?RGB(255?255?255));??????/** SetBkMode(hDC?OPAQUE);?????????????????????/** TextOut(hDC?0?0?string?strlen(string));?/** /**?獲得相關(guān)位圖數(shù)據(jù)結(jié)構(gòu)?*/
Getobject(hBitmap?sizeof(bm)?&bm);
size.cx?=?(bm.bmWidth?+?31)?&?(~31);?/** size.cy?=?bm.bmHeight;
int?bufsize?=?size.cx?*?size.cy/8;??/**????/** 定義單色位圖結(jié)構(gòu)?*/??
struct?{
BITMAPINFOHEADER?bih;
RGBQUAD?col[2];
}bic;
????/**?獲取單色位圖結(jié)構(gòu)信息?*/
BITMAPINFO?*binf?=?(BITMAPINFO?*)&bic;
binf->bmiHeader.biSize?=?sizeof(binf->bmiHeader);?/** binf->bmiHeader.biWidth?=?bm.bmWidth;
binf->bmiHeader.biHeight?=?bm.bmHeight;
binf->bmiHeader.biPlanes?=?1;
binf->bmiHeader.biBitCount?=?1;???????/** binf->bmiHeader.biCompression?=?BI_RGB;??/** binf->bmiHeader.biSizeImage?=?bufsize;
binf->bmiHeader.biXPelsPerMeter?=?1;
binf->bmiHeader.biYPelsPerMeter?=?1;
binf->bmiHeader
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????????15??2011-05-15?19:43??openglgame\New?Text?Document.txt
?????文件?????315904??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\DLL\GLU.DLL
?????文件?????154624??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\DLL\GLUT.DLL
?????文件?????237568??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\DLL\GLUT32.DLL
?????文件????1213440??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\DLL\OPENGL.DLL
?????文件??????69083??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\INCLUDE\GL.H
?????文件??????12024??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\INCLUDE\GLAUX.H
?????文件??????12794??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\INCLUDE\GLEXT.H
?????文件??????18282??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\INCLUDE\GLU.H
?????文件??????27670??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\INCLUDE\GLUT.H
?????文件??????17183??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\INCLUDE\WGLEXT.H
?????文件????1312394??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\LIB\GLAUX.LIB
?????文件??????35606??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\LIB\glu.lib
?????文件??????49514??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\LIB\GLU32.LIB
?????文件??????79654??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\LIB\glut.lib
?????文件??????69580??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\LIB\GLUT32.LIB
?????文件?????242802??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\LIB\opengl.lib
?????文件?????336274??2007-11-13?11:05??openglgame\OpenGL開(kāi)發(fā)庫(kù)\LIB\OPENGL32.LIB
?????文件???????2566??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\BuildLog.htm
?????文件?????188416??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\DirectInput鍵盤演示.exe
?????文件?????796940??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\DirectInput鍵盤演示.ilk
?????文件?????846848??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\DirectInput鍵盤演示.pdb
?????文件??????18015??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\Font.obj
?????文件??????28600??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\GLfr
?????文件??????23394??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\GLWindow.obj
?????文件??????47111??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\Input.obj
?????文件??????32426??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\KeyboardDemo.obj
?????文件??????10551??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\stdafx.obj
?????文件?????388096??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\vc70.idb
?????文件?????126976??2007-11-13?11:04??openglgame\第10章\DirectInput鍵盤演示\Debug\vc70.pdb
............此處省略1364個(gè)文件信息
評(píng)論
共有 條評(píng)論