FLTK
gl.h
Go to the documentation of this file.
1 //
2 // OpenGL header file for the Fast Light Tool Kit (FLTK).
3 //
4 // Copyright 1998-2018 by Bill Spitzak and others.
5 //
6 // You must include this instead of GL/gl.h to get the Microsoft
7 // APIENTRY stuff included (from <windows.h>) prior to the OpenGL
8 // header files.
9 //
10 // This file also provides "missing" OpenGL functions, and
11 // gl_start() and gl_finish() to allow OpenGL to be used in any window
12 //
13 // This library is free software. Distribution and use rights are outlined in
14 // the file "COPYING" which should have been included with this file. If this
15 // file is missing or damaged, see the license at:
16 //
17 // https://www.fltk.org/COPYING.php
18 //
19 // Please see the following page on how to report bugs and issues:
20 //
21 // https://www.fltk.org/bugs.php
22 //
23 
42 #ifndef FL_gl_H
43 # define FL_gl_H
44 
45 # include "Enumerations.H" // for color names
46 # ifdef _WIN32
47 # include <windows.h>
48 # endif
49 # ifndef APIENTRY
50 # if defined(__CYGWIN__)
51 # define APIENTRY __attribute__ ((__stdcall__))
52 # else
53 # define APIENTRY
54 # endif
55 # endif
56 
57 # ifdef __APPLE__ // PORTME: OpenGL path abstraction
58 # include <OpenGL/gl.h>
59 # else
60 # include <GL/gl.h>
61 # endif // __APPLE__ // PORTME: OpenGL Path abstraction
62 
63 FL_EXPORT void gl_start();
64 FL_EXPORT void gl_finish();
65 
66 FL_EXPORT void gl_color(Fl_Color i);
68 inline void gl_color(int c) {gl_color((Fl_Color)c);}
69 
70 FL_EXPORT void gl_rect(int x,int y,int w,int h);
75 inline void gl_rectf(int x,int y,int w,int h) {glRecti(x,y,x+w,y+h);}
76 
77 FL_EXPORT void gl_font(int fontid, int size);
78 FL_EXPORT int gl_height();
79 FL_EXPORT int gl_descent();
80 FL_EXPORT double gl_width(const char *);
81 FL_EXPORT double gl_width(const char *, int n);
82 FL_EXPORT double gl_width(uchar);
83 
84 FL_EXPORT void gl_draw(const char*);
85 FL_EXPORT void gl_draw(const char*, int n);
86 FL_EXPORT void gl_draw(const char*, int x, int y);
87 FL_EXPORT void gl_draw(const char*, float x, float y);
88 FL_EXPORT void gl_draw(const char*, int n, int x, int y);
89 FL_EXPORT void gl_draw(const char*, int n, float x, float y);
90 FL_EXPORT void gl_draw(const char*, int x, int y, int w, int h, Fl_Align);
91 FL_EXPORT void gl_measure(const char*, int& x, int& y);
92 FL_EXPORT void gl_texture_pile_height(int max);
93 FL_EXPORT int gl_texture_pile_height();
94 
95 FL_EXPORT void gl_draw_image(const uchar *, int x,int y,int w,int h, int d=3, int ld=0);
96 
97 #endif // !FL_gl_H
FL_EXPORT void gl_rect(int x, int y, int w, int h)
Outlines the given rectangle with the current color.
Definition: gl_draw.cxx:204
FL_EXPORT double gl_width(const char *)
Returns the width of the string in the current fnt.
Definition: gl_draw.cxx:55
FL_EXPORT void gl_start()
Creates an OpenGL context.
Definition: gl_start.cxx:48
FL_EXPORT void gl_color(Fl_Color i)
Sets the curent OpenGL color to an FLTK color.
Definition: gl_draw.cxx:233
FL_EXPORT void gl_measure(const char *, int &x, int &y)
Measure how wide and tall the string will be when drawn by the gl_draw() function.
Definition: gl_draw.cxx:195
This file contains type definitions and general enumerations.
void gl_rectf(int x, int y, int w, int h)
Fills the given rectangle with the current color.
Definition: gl.h:75
FL_EXPORT void gl_texture_pile_height(int max)
Changes the maximum height of the pile of pre-computed string textures.
Definition: gl_draw.cxx:465
FL_EXPORT void gl_draw(const char *)
Draws a nul-terminated string in the current font at the current position.
Definition: gl_draw.cxx:156
unsigned int Fl_Color
An FLTK color value; see also Colors.
Definition: Enumerations.H:1042
unsigned Fl_Align
FLTK type for alignment control.
Definition: Enumerations.H:908
FL_EXPORT int gl_descent()
Returns the current font&#39;s descent.
Definition: gl_draw.cxx:53
FL_EXPORT void gl_font(int fontid, int size)
Sets the current OpenGL font to the same font as calling fl_font().
Definition: gl_draw.cxx:70
FL_EXPORT void gl_finish()
Releases an OpenGL context.
Definition: gl_start.cxx:80
unsigned char uchar
unsigned char
Definition: fl_types.h:28
FL_EXPORT int gl_height()
Returns the current font&#39;s height.
Definition: gl_draw.cxx:51