# include <config.h>
#endif
-#include <simgear/compiler.h>
-
-#ifdef HAVE_WINDOWS_H
+#ifdef HAVE_WINDOWS_H
# include <windows.h>
#endif
-#include GLUT_H
-
-#include <plib/ssg.h>
+#include <plib/fnt.h>
-#include <simgear/math/interpolater.hxx>
+#include <simgear/compiler.h>
#include <simgear/props/props.hxx>
+#include <simgear/structure/subsystem_mgr.hxx>
+#include <simgear/math/interpolater.hxx>
#include <simgear/timing/timestamp.hxx>
#include <cmath>
#include <vector>
#include <map>
-#include <plib/fnt.h>
-#include <Main/fgfs.hxx>
#include <Main/fg_props.hxx>
-
#include <Input/input.hxx>
+#include <Instrumentation/dclgps.hxx>
SG_USING_STD(vector);
SG_USING_STD(map);
+
+class ssgTexture;
class FGPanelInstrument;
* redraw themselves when necessary, and will pass mouse clicks on to
* the appropriate instruments for processing.
*/
-class FGPanel : public FGSubsystem
+class FGPanel : public SGSubsystem
{
public:
virtual bool doMouseAction (int button, int updown, int x, int y);
virtual bool doLocalMouseAction(int button, int updown, int x, int y);
+ virtual void setDepthTest (bool enable);
+
private:
void setupVirtualCockpit();
void cleanupVirtualCockpit();
ssgTexture * _mbg[8];
// List of instruments in panel.
instrument_list_type _instruments;
+ bool _enable_depth_test;
};
// Transfer pointer ownership!!
virtual int addLayer (FGInstrumentLayer *layer);
- virtual int addLayer (FGCroppedTexture &texture, int w = -1, int h = -1);
+ virtual int addLayer (const FGCroppedTexture &texture, int w = -1, int h = -1);
// Transfer pointer ownership!!
virtual void addTransformation (FGPanelTransformation * transformation);
};
+/**
+ * An empty-shell instrument that exists soley in
+ * order to redirect commands from the panel to a
+ * complex instrument inherited from SGSubsystem.
+ *
+ * Currently the only complex instrument is the KLN89,
+ * which we've hardwired this to for now.
+ */
+class FGSpecialInstrument : public FGPanelInstrument
+{
+public:
+ FGSpecialInstrument(DCLGPS* sb);
+ //FGSpecialInstrument (int x, int y, int w, int h);
+ virtual ~FGSpecialInstrument ();
+
+ virtual void draw ();
+
+protected:
+ DCLGPS* complex;
+};
+
+
/**
* An instrument layer containing a group of sublayers.
*
virtual void setTexture (const FGCroppedTexture &texture) {
_texture = texture;
}
- virtual FGCroppedTexture &getTexture () { return _texture; }
virtual const FGCroppedTexture &getTexture () const { return _texture; }
+ virtual FGCroppedTexture *getTexture() { return &_texture; }
private:
- mutable FGCroppedTexture _texture;
+ FGCroppedTexture _texture;
};
public:
Chunk (const string &text, const string &fmt = "%s");
Chunk (ChunkType type, const SGPropertyNode * node,
- const string &fmt = "", float mult = 1.0);
+ const string &fmt = "", float mult = 1.0, float offs = 0.0,
+ bool truncation = false);
const char * getValue () const;
private:
const SGPropertyNode * _node;
string _fmt;
float _mult;
+ float _offs;
+ bool _trunc;
mutable char _buf[1024];
};