[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash/server edit_text_character.cpp edit_text_...
From: |
Vitaly Alexeev |
Subject: |
[Gnash-commit] gnash/server edit_text_character.cpp edit_text_... |
Date: |
Tue, 25 Jul 2006 12:53:41 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Vitaly Alexeev <alexeev> 06/07/25 12:53:41
Modified files:
server : edit_text_character.cpp edit_text_character.h
Log message:
fixed input_edit_text cursor bug (center, right alignment)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.h?cvsroot=gnash&r1=1.6&r2=1.7
Patches:
Index: edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- edit_text_character.cpp 10 Jul 2006 22:51:07 -0000 1.7
+++ edit_text_character.cpp 25 Jul 2006 12:53:41 -0000 1.8
@@ -435,7 +435,7 @@
#define WIDTH_FUDGE 80.0f
-void
+float
edit_text_character::align_line(
edit_text_character_def::alignment align,
int last_line_start_record, float x)
@@ -452,7 +452,7 @@
log_warning("TextField text doesn't fit in it's boundaries");
log_warning(" m_def->width() == %g", m_def->width());
log_warning(" m_def->get_right_margin() == %d",
m_def->get_right_margin());
- return;
+ return 0.0f;
}
float shift_right = 0.0f;
@@ -460,7 +460,7 @@
if (align == edit_text_character_def::ALIGN_LEFT)
{
// Nothing to do; already aligned left.
- return;
+ return 0.0f;
}
else if (align == edit_text_character_def::ALIGN_CENTER)
{
@@ -483,6 +483,7 @@
rec.m_style.m_x_offset += shift_right;
}
}
+ return shift_right;
}
const font*
@@ -761,13 +762,13 @@
// TODO: HTML markup
}
- m_xcursor += _font->get_leading() * scale;
- m_ycursor -= m_def->get_font_height() + (_font->get_leading() -
_font->get_descent()) * scale;
-
// Add this line to our output.
m_text_glyph_records.push_back(rec);
- align_line(m_def->get_alignment(), last_line_start_record, x);
+ float extra_space = align_line(m_def->get_alignment(),
last_line_start_record, x);
+
+ m_xcursor += (int) extra_space;
+ m_ycursor -= m_def->get_font_height() + (_font->get_leading() -
_font->get_descent()) * scale;
}
Index: edit_text_character.h
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- edit_text_character.h 10 Jul 2006 13:47:12 -0000 1.6
+++ edit_text_character.h 25 Jul 2006 12:53:41 -0000 1.7
@@ -130,7 +130,7 @@
/// m_text_glyph_records[], starting with
/// last_line_start_record and going through the end of
/// m_text_glyph_records.
- void align_line(edit_text_character_def::alignment align,
+ float align_line(edit_text_character_def::alignment align,
int last_line_start_record, float x);
/// Set our font, return previously set one.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash/server edit_text_character.cpp edit_text_...,
Vitaly Alexeev <=