00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined (octave_display_h)
00024 #define octave_display_h 1
00025
00026 class Matrix;
00027
00028 class display_info
00029 {
00030 protected:
00031
00032 display_info (bool query = true)
00033 : ht (1), wd (1), dp (0), rx (72), ry (72)
00034 {
00035 init (query);
00036 }
00037
00038 public:
00039
00040 static int height (void)
00041 {
00042 return instance_ok () ? instance->do_height () : 0;
00043 }
00044
00045 static int width (void)
00046 {
00047 return instance_ok () ? instance->do_width () : 0;
00048 }
00049
00050 static int depth (void)
00051 {
00052 return instance_ok () ? instance->do_depth () : 0;
00053 }
00054
00055 static double x_dpi (void)
00056 {
00057 return instance_ok () ? instance->do_x_dpi () : 0;
00058 }
00059
00060 static double y_dpi (void)
00061 {
00062 return instance_ok () ? instance->do_y_dpi () : 0;
00063 }
00064
00065
00066
00067 static void no_window_system (void)
00068 {
00069 instance_ok (false);
00070 }
00071
00072 private:
00073
00074 static display_info *instance;
00075
00076
00077 int ht;
00078 int wd;
00079 int dp;
00080
00081
00082 double rx;
00083 double ry;
00084
00085 int do_height (void) const { return ht; }
00086 int do_width (void) const { return wd; }
00087 int do_depth (void) const { return dp; }
00088
00089 double do_x_dpi (void) const { return rx; }
00090 double do_y_dpi (void) const { return ry; }
00091
00092 void init (bool query = true);
00093
00094 static bool instance_ok (bool query = true);
00095 };
00096
00097 #endif
00098
00099
00100
00101
00102
00103