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 9.1.p1)


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