Panda3D
showBase.h
1 // Filename: showBase.h
2 // Created by: shochet (02Feb00)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef SHOWBASE_H
16 #define SHOWBASE_H
17 
18 #include "directbase.h"
19 
20 #include "eventHandler.h"
21 #include "graphicsWindow.h"
22 #include "graphicsPipe.h"
23 #include "animControl.h"
24 #include "pointerTo.h"
25 #include "dconfig.h"
26 #include "dSearchPath.h"
27 #include "configVariableSearchPath.h"
28 #include "nodePath.h"
29 
30 ConfigureDecl(config_showbase, EXPCL_DIRECT, EXPTP_DIRECT);
31 
32 class CollisionTraverser;
33 class Camera;
34 class GraphicsEngine;
35 
36 BEGIN_PUBLISH
37 
38 EXPCL_DIRECT ConfigVariableSearchPath &get_particle_path();
39 
40 EXPCL_DIRECT void throw_new_frame();
41 
42 EXPCL_DIRECT DConfig &get_config_showbase();
43 EXPCL_DIRECT void init_app_for_gui();
44 
45 // klunky interface since we cant pass array from python->C++
46 EXPCL_DIRECT void add_fullscreen_testsize(int xsize, int ysize);
47 EXPCL_DIRECT void runtest_fullscreen_sizes(GraphicsWindow *win);
48 EXPCL_DIRECT bool query_fullscreen_testresult(int xsize, int ysize);
49 
50 // to handle windows stickykeys
51 EXPCL_DIRECT void store_accessibility_shortcut_keys();
52 EXPCL_DIRECT void allow_accessibility_shortcut_keys(bool allowKeys);
53 
54 #ifdef IS_OSX
55 void activate_osx_application();
56 #endif
57 
58 END_PUBLISH
59 
60 
61 
62 #if 0
63 class TempGridZoneManager {
64 PUBLISHED:
65  TempGridZoneManager() {}
66  ~TempGridZoneManager() {}
67 
68  unsigned int add_grid_zone(
69  unsigned int x,
70  unsigned int y,
71  unsigned int width,
72  unsigned int height,
73  unsigned int zoneBase,
74  unsigned int xZoneResolution,
75  unsigned int yZoneResolution);
76  int get_zone_list(int x, int y);
77 
78 protected:
79  class GridZone {
80  public:
81  unsigned int base;
82  unsigned int resolution;
83  GridZone(
84  unsigned int x,
85  unsigned int y,
86  unsigned int width,
87  unsigned int height,
88  unsigned int zoneBase,
89  unsigned int xZoneResolution,
90  unsigned int yZoneResolution) {
91  base=zoneBase;
92  resolution=zoneResolution;
93  }
94  };
95  Set<GridZone> _grids;
96 };
97 #endif
98 
99 #endif
This is similar to a ConfigVariableList, but it returns its list as a DSearchPath, as a list of directories.
This class emulates the old dconfig-style interface to our Panda config system.
Definition: dconfig.h:37
A window, fullscreen or on a desktop, into which a graphics device sends its output for interactive d...
This class manages the traversal through the scene graph to detect collisions.
This class is the main interface to controlling the render process.
A node that can be positioned around in the scene graph to represent a point of view for rendering a ...
Definition: camera.h:37