Browse Source

one more try

David Rose 19 years ago
parent
commit
6154ac04bf

+ 1 - 3
panda/src/text/config_text.cxx

@@ -182,11 +182,9 @@ ConfigVariableEnum<Texture::WrapMode> text_wrap_mode
 ("text-wrap-mode", Texture::WM_border_color,
  PRC_DESC("The default wrap mode for dynamic text fonts"));
 
-#ifdef HAVE_FREETYPE
-ConfigVariableEnum<DynamicTextFont::RenderMode> text_render_mode
+ConfigVariableEnum<TextFont::RenderMode> text_render_mode
 ("text-render-mode", DynamicTextFont::RM_texture,
  PRC_DESC("The default render mode for dynamic text fonts"));
-#endif
 
 
 

+ 1 - 4
panda/src/text/config_text.h

@@ -55,10 +55,7 @@ extern ConfigVariableInt text_max_never_break;
 extern ConfigVariableEnum<Texture::FilterType> text_minfilter;
 extern ConfigVariableEnum<Texture::FilterType> text_magfilter;
 extern ConfigVariableEnum<Texture::WrapMode> text_wrap_mode;
-
-#ifdef HAVE_FREETYPE
-extern ConfigVariableEnum<DynamicTextFont::RenderMode> text_render_mode;
-#endif
+extern ConfigVariableEnum<TextFont::RenderMode> text_render_mode;
 
 extern EXPCL_PANDA void init_libtext();
 

+ 0 - 116
panda/src/text/dynamicTextFont.cxx

@@ -254,50 +254,6 @@ get_glyph(int character, const TextGlyph *&glyph) {
 }
 
 
-////////////////////////////////////////////////////////////////////
-//     Function: DynamicTextFont::string_render_mode
-//       Access: Public
-//  Description: Returns the RenderMode value associated with the given
-//               string representation, or RM_invalid if the string
-//               does not match any known RenderMode value.
-////////////////////////////////////////////////////////////////////
-DynamicTextFont::RenderMode DynamicTextFont::
-string_render_mode(const string &string) {
-  if (cmp_nocase_uh(string, "texture") == 0) {
-    return RM_texture;
-  } else if (cmp_nocase_uh(string, "wireframe") == 0) {
-    return RM_wireframe;
-  } else if (cmp_nocase_uh(string, "polygon") == 0) {
-    return RM_polygon;
-  } else if (cmp_nocase_uh(string, "extruded") == 0) {
-    return RM_extruded;
-  } else if (cmp_nocase_uh(string, "solid") == 0) {
-    return RM_solid;
-  } else {
-    return RM_invalid;
-  }
-}
-
-////////////////////////////////////////////////////////////////////
-//     Function: DynamicTextFont::string_winding_order
-//       Access: Public
-//  Description: Returns the WindingOrder value associated with the given
-//               string representation, or WO_invalid if the string
-//               does not match any known WindingOrder value.
-////////////////////////////////////////////////////////////////////
-DynamicTextFont::WindingOrder DynamicTextFont::
-string_winding_order(const string &string) {
-  if (cmp_nocase_uh(string, "default") == 0) {
-    return WO_default;
-  } else if (cmp_nocase_uh(string, "left") == 0) {
-    return WO_left;
-  } else if (cmp_nocase_uh(string, "right") == 0) {
-    return WO_right;
-  } else {
-    return WO_invalid;
-  }
-}
-
 ////////////////////////////////////////////////////////////////////
 //     Function: DynamicTextFont::initialize
 //       Access: Private
@@ -1023,76 +979,4 @@ outline_nurbs(NurbsCurveResult *ncr) {
   return 0;
 }
 
-////////////////////////////////////////////////////////////////////
-//     Function: DynamicTextFont::RenderMode output operator
-//  Description:
-////////////////////////////////////////////////////////////////////
-ostream &
-operator << (ostream &out, DynamicTextFont::RenderMode rm) {
-  switch (rm) {
-  case DynamicTextFont::RM_texture:
-    return out << "texture";
-  case DynamicTextFont::RM_wireframe:
-    return out << "wireframe";
-  case DynamicTextFont::RM_polygon:
-    return out << "polygon";
-  case DynamicTextFont::RM_extruded:
-    return out << "extruded";
-  case DynamicTextFont::RM_solid:
-    return out << "solid";
-
-  case DynamicTextFont::RM_invalid:
-    return out << "invalid";
-  }
-
-  return out << "(**invalid DynamicTextFont::RenderMode(" << (int)rm << ")**)";
-}
-
-////////////////////////////////////////////////////////////////////
-//     Function: DynamicTextFont::RenderMode input operator
-//  Description:
-////////////////////////////////////////////////////////////////////
-istream &
-operator >> (istream &in, DynamicTextFont::RenderMode &rm) {
-  string word;
-  in >> word;
-
-  rm = DynamicTextFont::string_render_mode(word);
-  return in;
-}
-
-////////////////////////////////////////////////////////////////////
-//     Function: DynamicTextFont::WindingOrder output operator
-//  Description:
-////////////////////////////////////////////////////////////////////
-ostream &
-operator << (ostream &out, DynamicTextFont::WindingOrder wo) {
-  switch (wo) {
-  case DynamicTextFont::WO_default:
-    return out << "default";
-  case DynamicTextFont::WO_left:
-    return out << "left";
-  case DynamicTextFont::WO_right:
-    return out << "right";
-
-  case DynamicTextFont::WO_invalid:
-    return out << "invalid";
-  }
-
-  return out << "(**invalid DynamicTextFont::WindingOrder(" << (int)wo << ")**)";
-}
-
-////////////////////////////////////////////////////////////////////
-//     Function: DynamicTextFont::WindingOrder input operator
-//  Description:
-////////////////////////////////////////////////////////////////////
-istream &
-operator >> (istream &in, DynamicTextFont::WindingOrder &wo) {
-  string word;
-  in >> word;
-
-  wo = DynamicTextFont::string_winding_order(word);
-  return in;
-}
-
 #endif  // HAVE_FREETYPE

+ 0 - 8
panda/src/text/dynamicTextFont.h

@@ -101,9 +101,6 @@ PUBLISHED:
 public:
   virtual bool get_glyph(int character, const TextGlyph *&glyph);
 
-  static RenderMode string_render_mode(const string &string);
-  static WindingOrder string_winding_order(const string &string);
-
 private:
   void initialize();
   void update_filters();
@@ -195,11 +192,6 @@ private:
 
 INLINE ostream &operator << (ostream &out, const DynamicTextFont &dtf);
 
-EXPCL_PANDA ostream &operator << (ostream &out, DynamicTextFont::RenderMode rm);
-EXPCL_PANDA istream &operator >> (istream &in, DynamicTextFont::RenderMode &rm);
-EXPCL_PANDA ostream &operator << (ostream &out, DynamicTextFont::WindingOrder wo);
-EXPCL_PANDA istream &operator >> (istream &in, DynamicTextFont::WindingOrder &wo);
-
 #include "dynamicTextFont.I"
 
 #endif  // HAVE_FREETYPE

+ 117 - 0
panda/src/text/textFont.cxx

@@ -18,6 +18,7 @@
 
 #include "textFont.h"
 #include "config_text.h"
+#include "string_utils.h"
 #include <ctype.h>
 
 TypeHandle TextFont::_type_handle;
@@ -53,3 +54,119 @@ write(ostream &out, int indent_level) const {
   indent(out, indent_level)
     << "TextFont " << get_name() << "\n";
 }
+
+////////////////////////////////////////////////////////////////////
+//     Function: TextFont::string_render_mode
+//       Access: Public
+//  Description: Returns the RenderMode value associated with the given
+//               string representation, or RM_invalid if the string
+//               does not match any known RenderMode value.
+////////////////////////////////////////////////////////////////////
+TextFont::RenderMode TextFont::
+string_render_mode(const string &string) {
+  if (cmp_nocase_uh(string, "texture") == 0) {
+    return RM_texture;
+  } else if (cmp_nocase_uh(string, "wireframe") == 0) {
+    return RM_wireframe;
+  } else if (cmp_nocase_uh(string, "polygon") == 0) {
+    return RM_polygon;
+  } else if (cmp_nocase_uh(string, "extruded") == 0) {
+    return RM_extruded;
+  } else if (cmp_nocase_uh(string, "solid") == 0) {
+    return RM_solid;
+  } else {
+    return RM_invalid;
+  }
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: TextFont::string_winding_order
+//       Access: Public
+//  Description: Returns the WindingOrder value associated with the given
+//               string representation, or WO_invalid if the string
+//               does not match any known WindingOrder value.
+////////////////////////////////////////////////////////////////////
+TextFont::WindingOrder TextFont::
+string_winding_order(const string &string) {
+  if (cmp_nocase_uh(string, "default") == 0) {
+    return WO_default;
+  } else if (cmp_nocase_uh(string, "left") == 0) {
+    return WO_left;
+  } else if (cmp_nocase_uh(string, "right") == 0) {
+    return WO_right;
+  } else {
+    return WO_invalid;
+  }
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: TextFont::RenderMode output operator
+//  Description:
+////////////////////////////////////////////////////////////////////
+ostream &
+operator << (ostream &out, TextFont::RenderMode rm) {
+  switch (rm) {
+  case TextFont::RM_texture:
+    return out << "texture";
+  case TextFont::RM_wireframe:
+    return out << "wireframe";
+  case TextFont::RM_polygon:
+    return out << "polygon";
+  case TextFont::RM_extruded:
+    return out << "extruded";
+  case TextFont::RM_solid:
+    return out << "solid";
+
+  case TextFont::RM_invalid:
+    return out << "invalid";
+  }
+
+  return out << "(**invalid TextFont::RenderMode(" << (int)rm << ")**)";
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: TextFont::RenderMode input operator
+//  Description:
+////////////////////////////////////////////////////////////////////
+istream &
+operator >> (istream &in, TextFont::RenderMode &rm) {
+  string word;
+  in >> word;
+
+  rm = TextFont::string_render_mode(word);
+  return in;
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: TextFont::WindingOrder output operator
+//  Description:
+////////////////////////////////////////////////////////////////////
+ostream &
+operator << (ostream &out, TextFont::WindingOrder wo) {
+  switch (wo) {
+  case TextFont::WO_default:
+    return out << "default";
+  case TextFont::WO_left:
+    return out << "left";
+  case TextFont::WO_right:
+    return out << "right";
+
+  case TextFont::WO_invalid:
+    return out << "invalid";
+  }
+
+  return out << "(**invalid TextFont::WindingOrder(" << (int)wo << ")**)";
+}
+
+////////////////////////////////////////////////////////////////////
+//     Function: TextFont::WindingOrder input operator
+//  Description:
+////////////////////////////////////////////////////////////////////
+istream &
+operator >> (istream &in, TextFont::WindingOrder &wo) {
+  string word;
+  in >> word;
+
+  wo = TextFont::string_winding_order(word);
+  return in;
+}

+ 8 - 0
panda/src/text/textFont.h

@@ -86,6 +86,9 @@ PUBLISHED:
 public:
   virtual bool get_glyph(int character, const TextGlyph *&glyph)=0;
 
+  static RenderMode string_render_mode(const string &string);
+  static WindingOrder string_winding_order(const string &string);
+
 protected:
   bool _is_valid;
   float _line_height;
@@ -109,6 +112,11 @@ private:
   static TypeHandle _type_handle;
 };
 
+EXPCL_PANDA ostream &operator << (ostream &out, TextFont::RenderMode rm);
+EXPCL_PANDA istream &operator >> (istream &in, TextFont::RenderMode &rm);
+EXPCL_PANDA ostream &operator << (ostream &out, TextFont::WindingOrder wo);
+EXPCL_PANDA istream &operator >> (istream &in, TextFont::WindingOrder &wo);
+
 #include "textFont.I"
 
 #endif