File: gl_util.h

package info (click to toggle)
python-escript 5.0-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 87,772 kB
  • ctags: 49,550
  • sloc: python: 585,488; cpp: 133,173; ansic: 18,675; xml: 3,283; sh: 690; makefile: 215
file content (62 lines) | stat: -rw-r--r-- 2,051 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 *  Copyright 2008-2013 Steven Dalton
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

#pragma once

namespace cusp
{
namespace opengl
{
namespace spy
{

void world_to_screen(float wx, float wy, int *x, int *y);
void screen_to_world(int x, int y, double *wx, double *wy);
float scale_to_world(float val);

void world_extents(float &x1, float &y, float &x2, float &y2);

#ifndef GL_UTIL_GLUT_TEXT_FONT
#define GL_UTIL_GLUT_TEXT_FONT GLUT_BITMAP_HELVETICA_18
#endif // GL_UTIL_GLUT_TEXT_FONT

void output_text_string(float x, float y, const char *string, void* font = GL_UTIL_GLUT_TEXT_FONT);
void text_extends(int *width, int *height, const char *string, void* font = GL_UTIL_GLUT_TEXT_FONT);
void text_extends_world(float *width, float *height, const char *string, void* font = GL_UTIL_GLUT_TEXT_FONT);

const unsigned int GL_U_TEXT_WORLD_COORDS = 0;  // default option
const unsigned int GL_U_TEXT_SCREEN_COORDS = 1;

const unsigned int GL_U_TEXT_LEFT_X = 0;        // default option
const unsigned int GL_U_TEXT_CENTER_X = 2;
const unsigned int GL_U_TEXT_RIGHT_X = 4;

const unsigned int GL_U_TEXT_BOTTOM_Y = 0;
const unsigned int GL_U_TEXT_CENTER_Y = 8;
const unsigned int GL_U_TEXT_TOP_Y = 16;

void draw_text(float x, float y, const char *string, 
               unsigned int flags = 0, 
               void* font = GL_UTIL_GLUT_TEXT_FONT);

void* get_window_data(int window_id);
void set_window_data(int window_id, void* data);

} // end spy
} // end opengl
} // end cusp

#include <cusp/opengl/spy/detail/gl_util.inl>