summaryrefslogtreecommitdiff
path: root/src/PSEditWidget.cxx
diff options
context:
space:
mode:
authorJohannes Hofmann <johannes.hofmann@gmx.de>2005-01-27 20:07:09 +0000
committerJohannes Hofmann <johannes.hofmann@gmx.de>2005-01-27 20:07:09 +0000
commite9defef906d2c31a1d03615a1a2ed31a89a81dc5 (patch)
treed7b6c03722af22614693ff04f66751213cfc82ea /src/PSEditWidget.cxx
parent37a96e693506ff169d6702d384405597f3ff54e1 (diff)
implement zoom
implement zoom
Diffstat (limited to 'src/PSEditWidget.cxx')
-rw-r--r--src/PSEditWidget.cxx23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/PSEditWidget.cxx b/src/PSEditWidget.cxx
index 5861814..0d95d2c 100644
--- a/src/PSEditWidget.cxx
+++ b/src/PSEditWidget.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: PSEditWidget.cxx,v 1.31 2004/11/10 19:21:06 hofmann Exp $"
+// "$Id: PSEditWidget.cxx,v 1.32 2005/01/27 21:07:09 hofmann Exp $"
//
// PSEditWidget routines.
//
@@ -56,7 +56,7 @@ void PSEditWidget::draw() {
t_y = ps_to_display_y(t->get_y());
fl_color((Fl_Color) t->get_color());
- fl_font(FLPSED_FONT, t->get_size());
+ fl_font(FLPSED_FONT, t->get_size() * zoom_percent / 100);
fl_draw(t->get_text(), t_x + x(), t_y + y());
if (model->is_cur_text(t)) {
fl_draw_box(FL_BORDER_FRAME,
@@ -74,7 +74,7 @@ void PSEditWidget::draw() {
fl_draw(t->get_tag(), t_x + x(),
t_y + y() - text_height - 1);
}
-
+
t = t->get_next();
}
}
@@ -84,6 +84,7 @@ PSEditWidget::PSEditWidget(int X,int Y,int W, int H): GsWidget(X, Y, W, H) {
model = new PSEditModel();
cur_size = 12;
show_tags = 1;
+ zoom_percent = 100;
}
int PSEditWidget::next() {
@@ -214,7 +215,7 @@ void PSEditWidget::rm_char() {
t = model->get_cur_text();
if (t) {
- fl_font(FLPSED_FONT, t->get_size());
+ fl_font(FLPSED_FONT, t->get_size() * zoom_percent / 100);
width = bb_w(t);
}
@@ -308,19 +309,25 @@ int PSEditWidget::replace_tag(char *tag, char *text) {
return model->replace_tag(tag, text);
}
+int PSEditWidget::zoom(int p) {
+ zoom_percent = p;
+ return GsWidget::zoom(zoom_percent);
+}
+
+
int PSEditWidget::bb_x(PSEditText *t) {
return ps_to_display_x(t->get_x()) + x() - 10;
}
int PSEditWidget::bb_y(PSEditText *t) {
- fl_font(FLPSED_FONT, t->get_size());
- return ps_to_display_y(t->get_y()) - fl_height() + y() - 20;
+ fl_font(FLPSED_FONT, t->get_size() * zoom_percent / 100);
+ return ps_to_display_y(t->get_y()) - fl_height() + y() - 10;
}
int PSEditWidget::bb_w(PSEditText *t) {
int w, wt = 0;
char *tag;
- fl_font(FLPSED_FONT, t->get_size());
+ fl_font(FLPSED_FONT, t->get_size() * zoom_percent / 100);
w = (int) fl_width(t->get_text()) + 20;
tag = t->get_tag();
@@ -344,7 +351,7 @@ static int round_div(int a, int b) {
}
int PSEditWidget::bb_h(PSEditText *t) {
- fl_font(FLPSED_FONT, t->get_size());
+ fl_font(FLPSED_FONT, t->get_size() * zoom_percent / 100);
return fl_height() + 30;
}