mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
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:
@@ -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) {
|
||||
|
||||
@@ -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
@@ -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">
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user