use font settings for drawing multiple choice text labels, spacing and direction are scriptable.

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1298 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2009-01-08 14:19:17 +00:00
parent 9551d600eb
commit 1541d57c1a
6 changed files with 26 additions and 7 deletions
+6
View File
@@ -39,6 +39,12 @@ IMPLEMENT_REFLECTION(MultipleChoiceStyle) {
REFLECT(spacing);
}
int MultipleChoiceStyle::update(Context& ctx) {
return ChoiceStyle::update(ctx)
| direction.update(ctx) * CHANGE_OTHER
| spacing.update(ctx) * CHANGE_OTHER;
}
// ----------------------------------------------------------------------------- : MultipleChoiceValue
IMPLEMENT_REFLECTION_NAMELESS(MultipleChoiceValue) {
+4 -2
View File
@@ -36,8 +36,10 @@ class MultipleChoiceStyle : public ChoiceStyle {
MultipleChoiceStyle(const MultipleChoiceFieldP& field);
DECLARE_STYLE_TYPE(MultipleChoice);
Direction direction; ///< In what direction are choices layed out?
double spacing; ///< Spacing between choices (images) in pixels
Scriptable<Direction> direction; ///< In what direction are choices layed out?
Scriptable<double> spacing; ///< Spacing between choices (images) in pixels
virtual int update(Context&);
};
// ----------------------------------------------------------------------------- : MultipleChoiceValue
+10 -3
View File
@@ -3950,9 +3950,6 @@
<Filter
Name="template-stuff"
Filter="">
<File
RelativePath="..\data\magic-test.mse-style\script-language-tests">
</File>
<Filter
Name="magic"
Filter="">
@@ -3990,6 +3987,16 @@
RelativePath="..\data\magic.mse-game\word_lists">
</File>
</Filter>
<Filter
Name="test"
Filter="">
<File
RelativePath="..\data\magic-test.mse-style\script-language-tests">
</File>
<File
RelativePath="..\data\magic-test.mse-style\style">
</File>
</Filter>
</Filter>
<File
RelativePath=".\code_template.cpp">
+3 -2
View File
@@ -74,9 +74,10 @@ void MultipleChoiceValueViewer::drawChoice(RotatedDC& dc, RealPoint& pos, const
if (style().render_style & RENDER_TEXT) {
// draw text
String text = tr(getStylePackage(), choice, capitalize_sentence);
dc.SetFont(style().font,1);
RealSize text_size = dc.GetTextExtent(text);
dc.DrawText(text, align_in_rect(ALIGN_MIDDLE_LEFT, text_size,
RealRect(pos + RealSize(size.width + 1, 0), RealSize(0,size.height))));
RealPoint text_pos = align_in_rect(ALIGN_MIDDLE_LEFT, text_size, RealRect(pos.x + size.width + 1, pos.y, 0,size.height));
dc.DrawTextWithShadow(text, style().font, pos);
size = add_horizontal(size, text_size);
}
// next position
+2
View File
@@ -15,6 +15,7 @@
#include <gfx/color.hpp>
Alignment from_string(const String&);
bool parse_enum(const String&,Direction&);
DECLARE_TYPEOF_COLLECTION(ScriptParseError);
@@ -30,6 +31,7 @@ void store(const ScriptValueP& val, Defaultable<String>& var) { var.assign(*val)
void store(const ScriptValueP& val, Defaultable<Color>& var) { var.assign((AColor)*val); }
void store(const ScriptValueP& val, Defaultable<AColor>& var) { var.assign(*val); }
void store(const ScriptValueP& val, Alignment& var) { var = from_string(val->toString()); }
void store(const ScriptValueP& val, Direction& var) { parse_enum(val->toString(),var); }
// ----------------------------------------------------------------------------- : OptionalScript
+1
View File
@@ -33,6 +33,7 @@ void store(const ScriptValueP& val, AColor& var);
void store(const ScriptValueP& val, Defaultable<String>& var);
void store(const ScriptValueP& val, Defaultable<Color>& var);
void store(const ScriptValueP& val, Alignment& var);
void store(const ScriptValueP& val, Direction& var);
// ----------------------------------------------------------------------------- : OptionalScript