diff options
Diffstat (limited to 'src/FbTk')
-rw-r--r-- | src/FbTk/Menu.cc | 11 | ||||
-rw-r--r-- | src/FbTk/MenuItem.cc | 5 | ||||
-rw-r--r-- | src/FbTk/XftFontImp.cc | 7 |
3 files changed, 16 insertions, 7 deletions
diff --git a/src/FbTk/Menu.cc b/src/FbTk/Menu.cc index 18c3b75..5fe8e36 100644 --- a/src/FbTk/Menu.cc +++ b/src/FbTk/Menu.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: Menu.cc,v 1.74 2004/08/28 19:03:09 rathnor Exp $ | 25 | // $Id: Menu.cc,v 1.75 2004/08/29 08:33:13 rathnor Exp $ |
26 | 26 | ||
27 | //use GNU extensions | 27 | //use GNU extensions |
28 | #ifndef _GNU_SOURCE | 28 | #ifndef _GNU_SOURCE |
@@ -777,12 +777,14 @@ void Menu::redrawTitle() { | |||
777 | 0, 0, | 777 | 0, 0, |
778 | m_title_pm.width(), m_title_pm.height()); | 778 | m_title_pm.width(), m_title_pm.height()); |
779 | 779 | ||
780 | // difference between height based on font, and style-set height | ||
781 | int height_offset = theme().titleHeight() - (font.height() + 2*theme().bevelWidth()); | ||
780 | menu.title.updateTransparent(); | 782 | menu.title.updateTransparent(); |
781 | font.drawText(m_real_title_pm.drawable(), // drawable | 783 | font.drawText(m_real_title_pm.drawable(), // drawable |
782 | screenNumber(), | 784 | screenNumber(), |
783 | theme().titleTextGC().gc(), // graphic context | 785 | theme().titleTextGC().gc(), // graphic context |
784 | text, len, // text string with lenght | 786 | text, len, // text string with length |
785 | dx, theme().titleHeight()/2 + (font.ascent() - theme().bevelWidth())/2); // position | 787 | dx, font.ascent() + theme().bevelWidth() + height_offset/2); // position |
786 | } | 788 | } |
787 | 789 | ||
788 | 790 | ||
@@ -1196,6 +1198,9 @@ void Menu::motionNotifyEvent(XMotionEvent &me) { | |||
1196 | int sbl = (me.x / menu.item_w), | 1198 | int sbl = (me.x / menu.item_w), |
1197 | i = (me.y / theme().itemHeight()), | 1199 | i = (me.y / theme().itemHeight()), |
1198 | w = (sbl * menu.persub) + i; | 1200 | w = (sbl * menu.persub) + i; |
1201 | |||
1202 | if (w == m_active_index) | ||
1203 | return; | ||
1199 | 1204 | ||
1200 | if (validIndex(m_active_index) && w != m_active_index) { | 1205 | if (validIndex(m_active_index) && w != m_active_index) { |
1201 | 1206 | ||
diff --git a/src/FbTk/MenuItem.cc b/src/FbTk/MenuItem.cc index 898bf99..ee1db93 100644 --- a/src/FbTk/MenuItem.cc +++ b/src/FbTk/MenuItem.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: MenuItem.cc,v 1.5 2004/08/03 21:31:31 fluxgen Exp $ | 22 | // $Id: MenuItem.cc,v 1.6 2004/08/29 08:33:13 rathnor Exp $ |
23 | 23 | ||
24 | #include "MenuItem.hh" | 24 | #include "MenuItem.hh" |
25 | #include "Command.hh" | 25 | #include "Command.hh" |
@@ -91,7 +91,8 @@ void MenuItem::draw(FbDrawable &draw, | |||
91 | 91 | ||
92 | int text_w = theme.frameFont().textWidth(label().c_str(), label().size()); | 92 | int text_w = theme.frameFont().textWidth(label().c_str(), label().size()); |
93 | 93 | ||
94 | text_y = y - theme.bevelWidth()/2 + theme.frameFont().ascent()/2 + height/2; | 94 | int height_offset = theme.itemHeight() - (theme.frameFont().height() + 2*theme.bevelWidth()); |
95 | text_y = y + theme.bevelWidth() + theme.frameFont().ascent() + height_offset/2; ///2 + height/2; | ||
95 | 96 | ||
96 | switch(theme.frameFontJustify()) { | 97 | switch(theme.frameFontJustify()) { |
97 | case FbTk::LEFT: | 98 | case FbTk::LEFT: |
diff --git a/src/FbTk/XftFontImp.cc b/src/FbTk/XftFontImp.cc index c698238..c2f1dc8 100644 --- a/src/FbTk/XftFontImp.cc +++ b/src/FbTk/XftFontImp.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | //$Id: XftFontImp.cc,v 1.3 2004/08/10 11:57:35 fluxgen Exp $ | 22 | //$Id: XftFontImp.cc,v 1.4 2004/08/29 08:33:13 rathnor Exp $ |
23 | 23 | ||
24 | #include "XftFontImp.hh" | 24 | #include "XftFontImp.hh" |
25 | #include "App.hh" | 25 | #include "App.hh" |
@@ -157,7 +157,10 @@ unsigned int XftFontImp::textWidth(const char * const text, unsigned int len) co | |||
157 | unsigned int XftFontImp::height() const { | 157 | unsigned int XftFontImp::height() const { |
158 | if (m_xftfont == 0) | 158 | if (m_xftfont == 0) |
159 | return 0; | 159 | return 0; |
160 | return m_xftfont->height; | 160 | return m_xftfont->height; |
161 | //m_xftfont->ascent + m_xftfont->descent; | ||
162 | // curiously, fonts seem to have a smaller height, but the "height" | ||
163 | // is specified within the actual font, so it must be right, right? | ||
161 | } | 164 | } |
162 | 165 | ||
163 | }; // end namespace FbTk | 166 | }; // end namespace FbTk |