资源简介
计算机图形学基础第2版[陆枫]程序源代码
代码片段和文件信息
/* Copyright (c) Mark J. Kilgard 1994. */
/* This program is freely distributable without licensing fees
and is provided without guarantee or warrantee expressed or
implied. This program is -not- in the public domain. */
/* capturexfont.c connects to an X server and downloads a
bitmap font from which a C source file is generated
encoding the font for GLUT‘s use. Example usage:
capturexfont.c 9x15 glutBitmap9By15 > glut_9x15.c */
#include
#include
#include
#include
#include
#include
#include
#define MAX_GLYPHS_PER_GRAB 512 /* This is big enough for 2^9
glyph character sets */
static void
outputChar(int num int width int height
int xoff int yoff int advance int data)
{
if (width == 0 || height == 0) {
printf(“#ifdef _WIN32\n“);
printf(“/* XXX Work around Microsoft OpenGL 1.1 bug where glBitmap with\n“);
printf(“ a height or width of zero does not advance the raster position\n“);
printf(“ as specified by OpenGL. (Cosmo OpenGL does not have this bug.) */\n“);
printf(“static const GLubyte ch%ddata[] = { 0x0 };\n“ num);
printf(“static const BitmapCharRec ch%d = {“ num);
printf(“%d“ 0);
printf(“%d“ 0);
printf(“%d“ xoff);
printf(“%d“ yoff);
printf(“%d“ advance);
printf(“ch%ddata“ num);
printf(“};\n“);
printf(“#else\n“);
}
printf(“static const BitmapCharRec ch%d = {“ num);
printf(“%d“ width);
printf(“%d“ height);
printf(“%d“ xoff);
printf(“%d“ yoff);
printf(“%d“ advance);
if (data) {
printf(“ch%ddata“ num);
} else {
printf(“0“);
}
printf(“};\n“);
if (width == 0 || height == 0) {
printf(“#endif\n“);
}
printf(“\n“);
}
/* Can‘t just use isprint because it only works for the range
of ASCII characters (ie TRUE for isascii) and capturexfont
might be run on 16-bit fonts. */
#define PRINTABLE(ch) (isascii(ch) ? isprint(ch) : 0)
void
captureXFont(Display * dpy Font font char *xfont char *name)
{
int first last count;
int cnt len;
Pixmap offscreen;
Window drawable;
XFontStruct *fontinfo;
XImage *image;
GC xgc;
XGCValues values;
int width height;
int i j k;
XCharStruct *charinfo;
XChar2b character;
GLubyte *bitmapData;
int x y;
int spanLength;
int charWidth charHeight maxSpanLength pixwidth;
int grabList[MAX_GLYPHS_PER_GRAB];
int glyphsPerGrab = MAX_GLYPHS_PER_GRAB;
int numToGrab;
int rows pages byte1 byte2 index;
int nullBitmap;
drawable = RootWindow(dpy DefaultScreen(dpy));
fontinfo = XQueryFont(dpy font);
pages = fontinfo->max_char_or_byte2 - fontinfo->min_char_or_byte2 + 1;
first = (fontinfo->min_byte1 << 8) + fontinfo->min_char_or_byte2;
last = (fontinfo->max_byte1 << 8) + fontinfo->max_char_or_byte2;
count = last - first + 1;
width = fontinfo->max_bounds.rbearing -
fontinfo->min_bounds.lbearing;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2008-11-05 11:05 OpenGL程序\
目录 0 2008-11-03 23:42 OpenGL程序\OpenGL程序\
目录 0 2008-11-03 23:42 OpenGL程序\OpenGL程序\dll\
文件 315904 1997-11-21 17:01 OpenGL程序\OpenGL程序\dll\glu.dll
文件 119568 2000-01-10 12:00 OpenGL程序\OpenGL程序\dll\glu32.dll
文件 180224 1999-07-29 15:48 OpenGL程序\OpenGL程序\dll\GLUT32.DLL
文件 1214464 1997-11-21 17:01 OpenGL程序\OpenGL程序\dll\opengl.dll
文件 692496 2002-07-22 12:05 OpenGL程序\OpenGL程序\dll\OPENGL32.DLL
目录 0 2008-11-03 23:42 OpenGL程序\OpenGL程序\include\
目录 0 2008-11-03 23:42 OpenGL程序\OpenGL程序\include\gl\
文件 60468 1998-08-13 02:54 OpenGL程序\OpenGL程序\include\gl\FGL.H
文件 7273 1998-08-13 02:54 OpenGL程序\OpenGL程序\include\gl\FGLU.H
文件 10152 1998-08-13 02:54 OpenGL程序\OpenGL程序\include\gl\FGLUT.H
文件 71555 1997-11-07 02:34 OpenGL程序\OpenGL程序\include\gl\gl.h
文件 5150 1998-08-13 02:54 OpenGL程序\OpenGL程序\include\gl\GLSMAP.H
文件 14367 1997-10-31 02:18 OpenGL程序\OpenGL程序\include\gl\glu.h
文件 20844 1998-08-13 02:54 OpenGL程序\OpenGL程序\include\gl\GLUT.H
文件 8874 1998-08-13 02:54 OpenGL程序\OpenGL程序\include\gl\TUBE.H
目录 0 2008-11-03 23:42 OpenGL程序\OpenGL程序\lib\
文件 35606 1997-10-31 02:18 OpenGL程序\OpenGL程序\lib\glu.lib
目录 0 2008-11-03 23:42 OpenGL程序\OpenGL程序\lib\GLUT\
文件 11056 1998-08-13 02:49 OpenGL程序\OpenGL程序\lib\GLUT\capturexfont.c
文件 2277 1998-08-13 02:46 OpenGL程序\OpenGL程序\lib\GLUT\GLUT.DEF
文件 180224 1999-07-29 15:48 OpenGL程序\OpenGL程序\lib\GLUT\GLUT32.DLL
文件 17306 1999-07-29 15:48 OpenGL程序\OpenGL程序\lib\GLUT\GLUT32.EXP
文件 27096 1999-07-29 15:48 OpenGL程序\OpenGL程序\lib\GLUT\GLUT32.LIB
文件 708 1998-08-13 02:54 OpenGL程序\OpenGL程序\lib\GLUT\glutbitmap.h
文件 28061 1998-08-13 02:54 OpenGL程序\OpenGL程序\lib\GLUT\GLUTINT.H
文件 938 1998-08-13 02:54 OpenGL程序\OpenGL程序\lib\GLUT\glutstroke.h
文件 1752 1998-08-13 02:54 OpenGL程序\OpenGL程序\lib\GLUT\glutwin32.h
文件 38739 1998-08-13 02:49 OpenGL程序\OpenGL程序\lib\GLUT\glut_8x13.c
............此处省略81个文件信息
- 上一篇:iOS版CHM阅读器源码
- 下一篇:Rtmp Flash播放器 3.5
相关资源
- QT 翻页效果基础实现
- 学习随机过程的好资料随机过程讲义
- 电路与模拟电子技术基础第2版课后答
- Linux网络编程-网络基础-socket编程-高并
- Teradata基础教程.pdf
- Vue2.0学习教程PPT
- 电机与拖动基础学习指导
- 数据库原理及应用(第2版)参考答案
- 大学计算机基础考试题库含答案
- 数据库系统实现第2版课后习题答案,
- Visual C TurboC串口通信编程实践(第2版
- 黑马_Linux网络编程-网络基础-socket编程
- ArcGIS-在DEM的基础上划分小流域
- 电路分析基础全程导学与习题全解第
- 计算机图形学原理及算法教程+源码(
- 计算机图形学原理及算法教程+源码(
- 小强老师《零基础学习软件测试》系
- 数据库处理基础设计实现
- 基于stm32的仿生机械手程序-基础
- [课件] linux入门基础ppt
- 鸟哥的Linux私房菜——基础学习篇第四
- 导波光学基础
- cc2530基础实验及配套pdf
- 景德镇陶瓷大学 2019 计算机图形学 上
- 计算机图形学前沿报告flash版
-
Fli
nk基础教程-中文-高清-低分分享版 - 数字电子技术基础_余孟尝第3版答案
- CT原理与算法 电子书 CT算法设计的基
- 计算机图形学画线,画圆,扫面线填
- 算法设计与分析基础 英文 第3版
评论
共有 条评论