0024228: TKOpenGL - destroy GL context at view close
[occt.git] / src / OpenGl / OpenGl_telem_view.hxx
CommitLineData
b311480e 1// Copyright (c) 1995-1999 Matra Datavision
2// Copyright (c) 1999-2012 OPEN CASCADE SAS
3//
4// The content of this file is subject to the Open CASCADE Technology Public
5// License Version 6.5 (the "License"). You may not use the content of this file
6// except in compliance with the License. Please obtain a copy of the License
7// at http://www.opencascade.org and read it completely before using this file.
8//
9// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11//
12// The Original Code and all software distributed under the License is
13// distributed on an "AS IS" basis, without warranty of any kind, and the
14// Initial Developer hereby disclaims all such warranties, including without
15// limitation, any warranties of merchantability, fitness for a particular
16// purpose or non-infringement. Please see the License for the specific terms
17// and conditions governing the rights and limitations under the License.
18
7fd59977 19/***********************************************************************
20
21FONCTION :
22----------
23File OpenGl_telem_view.h :
24
25
26REMARQUES:
27----------
28
29
30HISTORIQUE DES MODIFICATIONS :
31--------------------------------
32xx-xx-xx : xxx ; Creation.
3302-07-96 : FMN ; Suppression WSWSHeight et WSWSWidth
34Suppression de TelSetWSWindow
3503-07-96 : FMN ; A une workstation correspond une vue.
36Suppression de TelGetViewportAtLocation()
37Suppression de TelPrintAllViews()
3803-03-98 : FMN ; Suppression variable externe TglWhetherPerspective
39
40************************************************************************/
41
42#ifndef OPENGL_TELEM_VIEW_H
43#define OPENGL_TELEM_VIEW_H
44
2166f0fa 45#include <InterfaceGraphic_tgl_all.hxx>
fd4a6963 46#include <Handle_OpenGl_Display.hxx>
7fd59977 47
48typedef struct
49{
50 Tfloat xmin;
51 Tfloat xmax;
52 Tfloat ymin;
53 Tfloat ymax;
54} Tlimit;
55
56typedef struct
57{
58 Tfloat xmin;
59 Tfloat xmax;
60 Tfloat ymin;
61 Tfloat ymax;
62 Tfloat zmin;
63 Tfloat zmax;
64} Tlimit3;
65
66typedef enum
67{
68 TelParallel, TelPerspective
69} TelProjType;
70
71typedef struct
72{
73 Tlimit window;
74 Tlimit3 viewport;
75 TelProjType proj;
76 Tfloat prp[3];
77 Tfloat vpd;
78 Tfloat fpd;
79 Tfloat bpd;
80} TEL_VIEW_MAPPING, *tel_view_mapping;
81
7fd59977 82extern void /* vrp, vpn, vup, error_ind, mat */
83TelEvalViewOrientationMatrix(Tfloat*, Tfloat*, Tfloat*, Tfloat*, Tint*, Tmatrix3);
84
85extern void /* mapping, error_ind, mat */
fd4a6963 86TelEvalViewMappingMatrix (const Handle(OpenGl_Display)& theGlDisplay, tel_view_mapping theMapping, Tint* theError, Tmatrix3 theMat);
7fd59977 87
7fd59977 88#endif