Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/sg/base_text

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/g4tools/include/tools/sg/base_text (Version 11.3.0) and /externals/g4tools/include/tools/sg/base_text (Version 11.2.1)


  1 // Copyright (C) 2010, Guy Barrand. All rights      1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
  2 // See the file tools.license for terms.            2 // See the file tools.license for terms.
  3                                                     3 
  4 #ifndef tools_sg_base_text                          4 #ifndef tools_sg_base_text
  5 #define tools_sg_base_text                          5 #define tools_sg_base_text
  6                                                     6 
  7 #include "node"                                     7 #include "node"
  8                                                     8 
  9 #include "sf_enum"                                  9 #include "sf_enum"
 10 #include "mf"                                      10 #include "mf"
 11 #include "enums" //hjust,vjust                     11 #include "enums" //hjust,vjust
 12 //#include "../lina/box3f"                         12 //#include "../lina/box3f"
 13                                                    13 
 14 namespace tools {                                  14 namespace tools {
 15 namespace sg {                                     15 namespace sg {
 16                                                    16 
 17 class base_text : public node {                    17 class base_text : public node {
 18   typedef node parent;                             18   typedef node parent;
 19 public:                                            19 public:
 20   virtual float ascent(float) const = 0;           20   virtual float ascent(float) const = 0;
 21   virtual float descent(float) const = 0;          21   virtual float descent(float) const = 0;
 22   virtual float y_advance(float) const = 0;        22   virtual float y_advance(float) const = 0;
 23   virtual void get_bounds(float,                   23   virtual void get_bounds(float,
 24                           float&,float&,float&     24                           float&,float&,float&,
 25                           float&,float&,float&     25                           float&,float&,float&) const = 0;
 26                                                    26 
 27   virtual bool truncate(const std::string&,flo     27   virtual bool truncate(const std::string&,float,float,std::string&) const = 0;
 28 public:                                            28 public:
 29   mf_string strings;                               29   mf_string strings;
 30   sf<float> height;                                30   sf<float> height;
 31   sf_enum<sg::hjust> hjust;                        31   sf_enum<sg::hjust> hjust;
 32   sf_enum<sg::vjust> vjust;                        32   sf_enum<sg::vjust> vjust;
 33 public:                                            33 public:
 34   virtual const desc_fields& node_desc_fields(     34   virtual const desc_fields& node_desc_fields() const {
 35     TOOLS_FIELD_DESC_NODE_CLASS(tools::sg::bas     35     TOOLS_FIELD_DESC_NODE_CLASS(tools::sg::base_text)
 36     static const desc_fields s_v(parent::node_     36     static const desc_fields s_v(parent::node_desc_fields(),4, //WARNING : take care of count.
 37       TOOLS_ARG_FIELD_DESC(strings),               37       TOOLS_ARG_FIELD_DESC(strings),
 38       TOOLS_ARG_FIELD_DESC(height),                38       TOOLS_ARG_FIELD_DESC(height),
 39       TOOLS_ARG_FIELD_DESC(hjust),                 39       TOOLS_ARG_FIELD_DESC(hjust),
 40       TOOLS_ARG_FIELD_DESC(vjust)                  40       TOOLS_ARG_FIELD_DESC(vjust)
 41     );                                             41     );
 42     return s_v;                                    42     return s_v;
 43   }                                                43   }
 44 private:                                           44 private:
 45   void add_fields(){                               45   void add_fields(){
 46     add_field(&strings);                           46     add_field(&strings);
 47     add_field(&height);                            47     add_field(&height);
 48     add_field(&hjust);                             48     add_field(&hjust);
 49     add_field(&vjust);                             49     add_field(&vjust);
 50   }                                                50   }
 51 public:                                            51 public:
 52   base_text()                                      52   base_text()
 53   :parent()                                        53   :parent()
 54   ,height(1.0f)                                    54   ,height(1.0f)
 55   ,hjust(left)                                     55   ,hjust(left)
 56   ,vjust(bottom)                                   56   ,vjust(bottom)
 57   {                                                57   {
 58     add_fields();                                  58     add_fields();
 59   }                                                59   }
 60   virtual ~base_text(){}                           60   virtual ~base_text(){}
 61 protected:                                         61 protected:
 62   base_text(const base_text& a_from)               62   base_text(const base_text& a_from)
 63   :parent(a_from)                                  63   :parent(a_from)
 64   ,strings(a_from.strings)                         64   ,strings(a_from.strings)
 65   ,height(a_from.height)                           65   ,height(a_from.height)
 66   ,hjust(a_from.hjust)                             66   ,hjust(a_from.hjust)
 67   ,vjust(a_from.vjust)                             67   ,vjust(a_from.vjust)
 68   {                                                68   {
 69     add_fields();                                  69     add_fields();
 70   }                                                70   }
 71   base_text& operator=(const base_text& a_from     71   base_text& operator=(const base_text& a_from){
 72     parent::operator=(a_from);                     72     parent::operator=(a_from);
 73     height = a_from.height;                        73     height = a_from.height;
 74     strings = a_from.strings;                      74     strings = a_from.strings;
 75     hjust = a_from.hjust;                          75     hjust = a_from.hjust;
 76     vjust = a_from.vjust;                          76     vjust = a_from.vjust;
 77     return *this;                                  77     return *this;
 78   }                                                78   }
 79 public:                                            79 public:
 80                                                    80 
 81 //  void get_bounds(float a_height,box3f& a_bo     81 //  void get_bounds(float a_height,box3f& a_box) {
 82 //    //for backward compatibility.                82 //    //for backward compatibility.
 83 //    float mn_x,mn_y,mn_z;                        83 //    float mn_x,mn_y,mn_z;
 84 //    float mx_x,mx_y,mx_z;                        84 //    float mx_x,mx_y,mx_z;
 85 //    get_bounds(a_height,mn_x,mn_y,mn_z,mx_x,     85 //    get_bounds(a_height,mn_x,mn_y,mn_z,mx_x,mx_y,mx_z);
 86 //    a_box.set_bounds(mn_x,mn_y,mn_z,mx_x,mx_     86 //    a_box.set_bounds(mn_x,mn_y,mn_z,mx_x,mx_y,mx_z);
 87 //  }                                              87 //  }
 88                                                    88 
 89 };                                                 89 };
 90                                                    90 
 91 }}                                                 91 }}
 92                                                    92 
 93 #endif                                             93 #endif