Symbol resizing using aspect ratio;

TODO: copy code for rarity box to other styles

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@622 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2007-08-24 02:05:50 +00:00
parent 0625a3ca87
commit bdd3429479
14 changed files with 69 additions and 30 deletions
+34 -7
View File
@@ -12,6 +12,40 @@
// ----------------------------------------------------------------------------- : ChoiceValueViewer
bool ChoiceValueViewer::prepare(RotatedDC& dc) {
if (style().render_style & RENDER_IMAGE) {
style().initImage();
ScriptableImage& img = style().image;
Context& ctx = viewer.getContext();
ctx.setVariable(_("input"), to_script(value().value()));
img.update(ctx);
//generate
if (img.isReady()) {
GeneratedImage::Options img_options(0,0, viewer.stylesheet.get(), &getSet());
if (nativeLook()) {
img_options.width = img_options.height = 16;
img_options.preserve_aspect = ASPECT_BORDER;
} else if(style().render_style & RENDER_TEXT) {
// also drawing text, use original size
} else {
img_options.width = (int) dc.trX(style().width);
img_options.height = (int) dc.trY(style().height);
img_options.preserve_aspect = (style().alignment & ALIGN_STRETCH) ? ASPECT_STRETCH : ASPECT_FIT;
}
// don't worry we cache the image
Image image = img.generate(img_options, true);
// store content properties
if (style().content_width != image.GetWidth() ||
style().content_height != image.GetHeight()) {
style().content_width = image.GetWidth();
style().content_height = image.GetHeight();
return true;
}
}
}
return false;
}
void ChoiceValueViewer::draw(RotatedDC& dc) {
drawFieldBorder(dc);
if (style().render_style & RENDER_HIDDEN) return;
@@ -19,14 +53,7 @@ void ChoiceValueViewer::draw(RotatedDC& dc) {
double margin = 0;
if (style().render_style & RENDER_IMAGE) {
// draw image
// map<String,ScriptableImage>::iterator it = style().choice_images.find(cannocial_name_form(value().value()));
// if (it != style().choice_images.end() && it->second.isReady()) {
// ScriptableImage& img = it->second;
style().initImage();
ScriptableImage& img = style().image;
Context& ctx = viewer.getContext();
ctx.setVariable(_("input"), to_script(value().value()));
img.update(ctx);
if (img.isReady()) {
GeneratedImage::Options img_options(0,0, viewer.stylesheet.get(), &getSet());
if (nativeLook()) {