Go to the documentation of this file.
4 #ifndef tools_sg_text_valop
5 #define tools_sg_text_valop
12 #include "../nostream"
72 if(a_action.
done())
return;
75 if(a_action.
done())
return;
108 float& a_mn_x,
float& a_mn_y,
float& a_mn_z,
109 float& a_mx_x,
float& a_mx_y,
float& a_mx_z)
const {
113 self.reset_touched();
117 a_mn_x =
mn[0];a_mn_y =
mn[1];a_mn_z =
mn[2];
118 a_mx_x =
mx[0];a_mx_y =
mx[1];a_mx_z =
mx[2];
121 virtual float ascent(
float)
const {
return 1;}
123 virtual float descent(
float)
const {
return 0;}
124 virtual bool truncate(
const std::string&,
float,
float,std::string&)
const {
return false;}
133 if(!v.
visit(*_valop)) {
134 a_out <<
"tools::sg::text_valop::upate_sg : valop2sg.visit() failed." << std::endl;
143 float h =
mx[1]-
mn[1];
145 a_out <<
"tools::sg::text_valop::upate_sg : valop has null height." << std::endl;
virtual float ascent(float) const
virtual void get_bounds(float, float &a_mn_x, float &a_mn_y, float &a_mn_z, float &a_mx_x, float &a_mx_y, float &a_mx_z) const
text_valop(const text_valop &a_from)
virtual void search(search_action &a_action)
virtual bool truncate(const std::string &, float, float, std::string &) const
#define TOOLS_ARG_FIELD_DESC_ENUMS_BEG(a__field, a__num)
#define TOOLS_NODE(a__class, a__sclass, a__parent)
virtual void render(render_action &a_action)
void update_sg(std::ostream &a_out)
virtual void bbox(bbox_action &a_action)
virtual const desc_fields & node_desc_fields() const
virtual float y_advance(float) const
const base_freetype & m_ttf
text_valop(const base_freetype &a_ttf)
sf_enum< sg::font_modeling > font_modeling
#define TOOLS_FIELD_DESC_NODE_CLASS(a__class)
#define TOOLS_ARG_ENUM(a__value)
#define tools_vforcit(a__T, a__v, a__it)
virtual float descent(float) const
text_valop & operator=(const text_valop &a_from)
#define TOOLS_ARG_FIELD_DESC(a__field)
virtual void pick(pick_action &a_action)
#define TOOLS_ARG_FIELD_DESC_ENUMS_END