/[svn]/gigedit/trunk/src/gigedit/global.h
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/global.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3089 by schoenebeck, Sun Jan 15 19:18:39 2017 UTC revision 3123 by schoenebeck, Tue Apr 25 20:45:54 2017 UTC
# Line 55  Line 55 
55  #define UNICODE_RIGHT_ARROW     Glib::ustring(1, gunichar(0x2192))  #define UNICODE_RIGHT_ARROW     Glib::ustring(1, gunichar(0x2192))
56  #define UNICODE_LEFT_ARROW      Glib::ustring(1, gunichar(0x2190))  #define UNICODE_LEFT_ARROW      Glib::ustring(1, gunichar(0x2190))
57    
58    // taken from gdk/gdkkeysyms.h
59    // (define on demand, to avoid unnecessary dev lib package build dependency)
60    #ifndef GDK_KEY_Control_L
61    # define GDK_KEY_Control_L 0xffe3
62    #endif
63    #ifndef GDK_KEY_Control_R
64    # define GDK_KEY_Control_R 0xffe4
65    #endif
66    #ifndef GDK_KEY_Left
67    # define GDK_KEY_Left 0xff51
68    #endif
69    #ifndef GDK_KEY_Right
70    # define GDK_KEY_Right 0xff53
71    #endif
72    #ifndef GDK_KEY_Up
73    # define GDK_KEY_Up 0xff52
74    #endif
75    #ifndef GDK_KEY_Down
76    # define GDK_KEY_Down 0xff54
77    #endif
78    
79  template<class T> inline std::string ToString(T o) {  template<class T> inline std::string ToString(T o) {
80      std::stringstream ss;      std::stringstream ss;
81      ss << o;      ss << o;
# Line 115  public: Line 136  public:
136          }          }
137          return false;          return false;
138      }      }
139    
140        // prevent passing gig::dimension_none from creating a new pair
141        // (TODO: other invalid gig::dimension_t values should be filtered here as well)
142        int& operator[](const gig::dimension_t& k) {
143            static int unused = 0;
144            if (k == gig::dimension_none) {
145                unused = 0;
146                return unused;
147            }
148            return std::map<gig::dimension_t,int>::operator[](k);
149        }
150  };  };
151    
152    //TODO: this function and caseOfDimRegion() from dimregionchooser.h are duplicates, eliminate either one of them!
153  inline DimensionCase dimensionCaseOf(gig::DimensionRegion* dr) {  inline DimensionCase dimensionCaseOf(gig::DimensionRegion* dr) {
154      DimensionCase dimCase;      DimensionCase dimCase;
155      int idr = getDimensionRegionIndex(dr);      int idr = getDimensionRegionIndex(dr);
# Line 142  inline std::vector<gig::DimensionRegion* Line 175  inline std::vector<gig::DimensionRegion*
175      return v;      return v;
176  }  }
177    
178    inline gig::DimensionRegion* dimensionRegionMatching(const DimensionCase& dimCase, gig::Region* rgn) {
179        for (int idr = 0; idr < 256; ++idr) {
180            if (!rgn->pDimensionRegions[idr]) continue;
181            DimensionCase c = dimensionCaseOf(rgn->pDimensionRegions[idr]);
182            if (c == dimCase) return rgn->pDimensionRegions[idr];
183        }
184        return NULL;
185    }
186    
187  #endif // GIGEDIT_GLOBAL_H  #endif // GIGEDIT_GLOBAL_H

Legend:
Removed from v.3089  
changed lines
  Added in v.3123

  ViewVC Help
Powered by ViewVC