Patch level : 12.0 1086
Files correlati : ci1300ab.rep ci1300bb.rep ci1300a.rep ci1300a.msk ci1300b.rep ci1.exe Commento : Aggiunta scalatura per le immagine (tutto , solo in x, solo iny , non scalare) Iinteno: Alla prima patch di ve1 controllare una fattura con logo prima e dopo l'installazione della patch.
This commit is contained in:
parent
0c125fc0aa
commit
6a90381c2a
@ -1634,7 +1634,9 @@ void TReport_field::print(TBook& book) const
|
||||
{
|
||||
const TString& name = get().as_string();
|
||||
const TReport_rct& rct = get_draw_rect();
|
||||
book.draw_image(rct, name);
|
||||
const TString4 resize_type = get_image_resize_type();
|
||||
|
||||
book.draw_image(rct, name, resize_type);
|
||||
if (border() > 0)
|
||||
{
|
||||
book.set_pen(fore_color(), border()-1);
|
||||
@ -1780,7 +1782,8 @@ void TReport_field::save(TXmlItem& root) const
|
||||
set_col_attr(fld, "bg_color", back_color(), COLOR_WHITE);
|
||||
set_col_attr(fld, "fg_color", fore_color(), COLOR_BLACK);
|
||||
set_col_attr(fld, "txt_color", text_color(), fore_color());
|
||||
|
||||
if (_type == 'I')
|
||||
fld.SetAttr("image_resize_type", _image_resize_type);
|
||||
if (has_font())
|
||||
_font->save(fld);
|
||||
if (in_group(0))
|
||||
@ -1863,6 +1866,8 @@ bool TReport_field::load(const TXmlItem& fld)
|
||||
set_back_color(get_col_attr(fld, "bg_color", COLOR_WHITE));
|
||||
set_fore_color(get_col_attr(fld, "fg_color", COLOR_BLACK));
|
||||
set_text_color(get_col_attr(fld, "txt_color", fore_color()));
|
||||
if (_type == 'I')
|
||||
set_image_resize_type(fld.GetAttr("image_resize_type"));
|
||||
if (pattern() == PAT_SPECIAL)
|
||||
{
|
||||
set_shade_color(get_col_attr(fld, "sh_color", COLOR_GRAY));
|
||||
|
@ -357,6 +357,7 @@ class TReport_field : public TSortable
|
||||
TVariant _var;
|
||||
TReport_script _prescript, _postscript;
|
||||
TArray _list; // Elementi di un campo lista
|
||||
TString4 _image_resize_type;
|
||||
|
||||
TReport_font *_font, *_print_font;
|
||||
bool _hidden, _deactivated, _hide_zeroes, _selected;
|
||||
@ -442,9 +443,11 @@ public:
|
||||
|
||||
void set_draw_pos(long x, long y);
|
||||
void set_draw_size(long x, long y);
|
||||
void set_image_resize_type(const char * image_resize_type) { _image_resize_type = image_resize_type; }
|
||||
|
||||
const TReport_rct& compute_draw_rect(const TBook& book);
|
||||
const TReport_rct& get_draw_rect() const;
|
||||
const TString & get_image_resize_type() const { return _image_resize_type; }
|
||||
|
||||
void set_groups(const TString& groups);
|
||||
void add_groups(const TString& groups);
|
||||
|
@ -1162,10 +1162,48 @@ void TBook::draw_link(const TReport_rct& rect, const char* text, const char* lin
|
||||
*_out << "<a href=\"" << link << "\" >" << text << "</a>" << endl;
|
||||
}
|
||||
|
||||
void TBook::draw_image(const TReport_rct& rect, const char* name)
|
||||
void TBook::draw_image(const TReport_rct& rect, const char* filename, const char * resize)
|
||||
{
|
||||
define_frame(rect);
|
||||
*_out << "<image src=\"" << name << "\" />" << endl;
|
||||
TReport_rct new_rect(rect);
|
||||
|
||||
if (resize && *resize)
|
||||
{
|
||||
TImage* img = _images.image(filename);
|
||||
|
||||
switch (resize[0])
|
||||
{
|
||||
case 'N':
|
||||
new_rect.set_width(img->width());
|
||||
new_rect.set_height(img->height());
|
||||
break;
|
||||
case 'X':
|
||||
{
|
||||
long ratio = long((double(img->height()) / double(img->width())) * 100000.0);
|
||||
short old_ysize = rect.height();
|
||||
long new_ysize = rect.width() * ratio / 100000L;
|
||||
TReport_size s(rect.width(), (new_ysize * lpi()) / cpi());
|
||||
TReport_pnt o(rect.left(), rect.top() + ((old_ysize - new_ysize) * cpi())/ (2 * lpi()));
|
||||
|
||||
new_rect.set(o, s);
|
||||
}
|
||||
break;
|
||||
case 'Y':
|
||||
{
|
||||
long ratio = long((double(img->width()) / double(img->height())) * 100000.0);
|
||||
short old_xsize = rect.width();
|
||||
long new_xsize = rect.height() * ratio / 100000L;
|
||||
TReport_size s((new_xsize * cpi()) / lpi(), rect.height());
|
||||
TReport_pnt o(rect.left() + ((old_xsize - new_xsize) * lpi()) / (2 * cpi()), rect.top());
|
||||
|
||||
new_rect.set(o, s);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
define_frame(new_rect);
|
||||
*_out << "<image src=\"" << filename << "\" />" << endl;
|
||||
}
|
||||
|
||||
void TBook::add_doc(const TString& name)
|
||||
|
@ -68,7 +68,7 @@ public:
|
||||
virtual void draw_round_rectangle(const TReport_rct& rect, int radius);
|
||||
virtual void draw_ellipse(const TReport_rct& rect);
|
||||
virtual void draw_line(const TReport_rct& rect);
|
||||
virtual void draw_image(const TReport_rct& rect, const char* filename);
|
||||
virtual void draw_image(const TReport_rct& rect, const char* filename, const char *resize = "");
|
||||
virtual void draw_text(const TReport_rct& rect, const char* text, const char* owner);
|
||||
virtual void draw_text(const TReport_rct& rect, const TString_array& text, const char* owner);
|
||||
virtual void draw_link(const TReport_rct& rect, const char* text, const char* link);
|
||||
|
Loading…
x
Reference in New Issue
Block a user