[haiku-commits] r39183 - haiku/trunk/src/apps/terminal

  • From: pulkomandy@xxxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 29 Oct 2010 14:07:52 +0200 (CEST)

Author: pulkomandy
Date: 2010-10-29 14:07:51 +0200 (Fri, 29 Oct 2010)
New Revision: 39183
Changeset: http://dev.haiku-os.org/changeset/39183

Modified:
   haiku/trunk/src/apps/terminal/AppearPrefView.cpp
   haiku/trunk/src/apps/terminal/PrefHandler.cpp
   haiku/trunk/src/apps/terminal/TermConst.h
   haiku/trunk/src/apps/terminal/TermView.cpp
   haiku/trunk/src/apps/terminal/TermView.h
   haiku/trunk/src/apps/terminal/TermWindow.cpp
Log:
 * Remove the setting for a fixed cursor color. Instead, the cursor now inverts 
the colors of the char below it.
 * This allows getting a cursor well visible both on black and white backgrouds.


Modified: haiku/trunk/src/apps/terminal/AppearPrefView.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/AppearPrefView.cpp    2010-10-29 08:33:47 UTC 
(rev 39182)
+++ haiku/trunk/src/apps/terminal/AppearPrefView.cpp    2010-10-29 12:07:51 UTC 
(rev 39183)
@@ -75,8 +75,6 @@
        const char* kColorTable[] = {
                PREF_TEXT_FORE_COLOR,
                PREF_TEXT_BACK_COLOR,
-               PREF_CURSOR_FORE_COLOR,
-               PREF_CURSOR_BACK_COLOR,
                PREF_SELECT_FORE_COLOR,
                PREF_SELECT_BACK_COLOR,
                NULL
@@ -301,8 +299,6 @@
 
        pref->setRGB(PREF_TEXT_FORE_COLOR, schema->text_fore_color);
        pref->setRGB(PREF_TEXT_BACK_COLOR, schema->text_back_color);
-       pref->setRGB(PREF_CURSOR_FORE_COLOR, schema->cursor_fore_color);
-       pref->setRGB(PREF_CURSOR_BACK_COLOR, schema->cursor_back_color);
        pref->setRGB(PREF_SELECT_FORE_COLOR, schema->select_fore_color);
        pref->setRGB(PREF_SELECT_BACK_COLOR, schema->select_back_color);
 }
@@ -315,8 +311,6 @@
 
        gCustomSchema.text_fore_color = pref->getRGB(PREF_TEXT_FORE_COLOR);
        gCustomSchema.text_back_color = pref->getRGB(PREF_TEXT_BACK_COLOR);
-       gCustomSchema.cursor_fore_color = pref->getRGB(PREF_CURSOR_FORE_COLOR);
-       gCustomSchema.cursor_back_color = pref->getRGB(PREF_CURSOR_BACK_COLOR);
        gCustomSchema.select_fore_color = pref->getRGB(PREF_SELECT_FORE_COLOR);
        gCustomSchema.select_back_color = pref->getRGB(PREF_SELECT_BACK_COLOR);
 

Modified: haiku/trunk/src/apps/terminal/PrefHandler.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/PrefHandler.cpp       2010-10-29 08:33:47 UTC 
(rev 39182)
+++ haiku/trunk/src/apps/terminal/PrefHandler.cpp       2010-10-29 12:07:51 UTC 
(rev 39183)
@@ -44,8 +44,6 @@
        { PREF_TEXT_BACK_COLOR,         "255, 255, 255" },
        { PREF_SELECT_FORE_COLOR,       "255, 255, 255" },
        { PREF_SELECT_BACK_COLOR,       "  0,   0,   0" },
-       { PREF_CURSOR_FORE_COLOR,       "255, 255, 255" },
-       { PREF_CURSOR_BACK_COLOR,       "  0,   0,   0" },
 
        { PREF_IM_FORE_COLOR,           "  0,   0,   0" },
        { PREF_IM_BACK_COLOR,           "152, 203, 255" },
@@ -423,8 +421,6 @@
        setString(PREF_HALF_FONT_STYLE, font_style);
        setRGB(PREF_TEXT_BACK_COLOR, prefs.bg);
        setRGB(PREF_TEXT_FORE_COLOR, prefs.fg);
-       setRGB(PREF_CURSOR_BACK_COLOR, prefs.curbg);
-       setRGB(PREF_CURSOR_FORE_COLOR, prefs.curfg);
        setRGB(PREF_SELECT_BACK_COLOR, prefs.selbg);
        setRGB(PREF_SELECT_FORE_COLOR, prefs.selfg);
        setString(PREF_TEXT_ENCODING, EncodingAsString(prefs.encoding));

Modified: haiku/trunk/src/apps/terminal/TermConst.h
===================================================================
--- haiku/trunk/src/apps/terminal/TermConst.h   2010-10-29 08:33:47 UTC (rev 
39182)
+++ haiku/trunk/src/apps/terminal/TermConst.h   2010-10-29 12:07:51 UTC (rev 
39183)
@@ -103,8 +103,6 @@
 const char* const PREF_TEXT_BACK_COLOR = "Background";
 const char* const PREF_SELECT_FORE_COLOR = "Selected text";
 const char* const PREF_SELECT_BACK_COLOR = "Selected background";
-const char* const PREF_CURSOR_FORE_COLOR = "Cursor text";
-const char* const PREF_CURSOR_BACK_COLOR = "Cursor background";
 
 const char* const PREF_IM_FORE_COLOR = "IM foreground color";
 const char* const PREF_IM_BACK_COLOR = "IM background color";

Modified: haiku/trunk/src/apps/terminal/TermView.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/TermView.cpp  2010-10-29 08:33:47 UTC (rev 
39182)
+++ haiku/trunk/src/apps/terminal/TermView.cpp  2010-10-29 12:07:51 UTC (rev 
39183)
@@ -548,8 +548,6 @@
        fVisibleTextBuffer = NULL;
        fScrollBar = NULL;
        fInline = NULL;
-       fCursorForeColor = kWhiteColor;
-       fCursorBackColor = kBlackColor;
        fSelectForeColor = kWhiteColor;
        fSelectBackColor = kBlackColor;
        fScrollOffset = 0;
@@ -849,14 +847,6 @@
 }
 
 
-void
-TermView::SetCursorColor(rgb_color fore, rgb_color back)
-{
-       fCursorForeColor = fore;
-       fCursorBackColor = back;
-}
-
-
 int
 TermView::Encoding() const
 {
@@ -1117,8 +1107,13 @@
 
        // Selection check.
        if (cursor) {
-               rgb_fore = fCursorForeColor;
-               rgb_back = fCursorBackColor;
+               rgb_fore.red = 255 - rgb_fore.red;
+               rgb_fore.green = 255 - rgb_fore.green;
+               rgb_fore.blue = 255 - rgb_fore.blue;
+
+               rgb_back.red = 255 - rgb_back.red;
+               rgb_back.green = 255 - rgb_back.green;
+               rgb_back.blue = 255 - rgb_back.blue;
        } else if (mouse) {
                rgb_fore = fSelectForeColor;
                rgb_back = fSelectBackColor;
@@ -1195,8 +1190,13 @@
                if (selected)
                        SetHighColor(fSelectBackColor);
                else {
-                       SetHighColor(cursorVisible
-                               ? fCursorBackColor : 
kTermColorTable[IS_BACKCOLOR(attr)]);
+                       rgb_color color = kTermColorTable[IS_BACKCOLOR(attr)];
+                       if (cursorVisible) {
+                               color.red = 255 - color.red;
+                               color.green = 255 - color.green;
+                               color.blue = 255 - color.blue;
+                       }
+                       SetHighColor(color);
                }
 
                FillRect(rect);

Modified: haiku/trunk/src/apps/terminal/TermView.h
===================================================================
--- haiku/trunk/src/apps/terminal/TermView.h    2010-10-29 08:33:47 UTC (rev 
39182)
+++ haiku/trunk/src/apps/terminal/TermView.h    2010-10-29 12:07:51 UTC (rev 
39183)
@@ -65,7 +65,6 @@
 
                        void                    SetTextColor(rgb_color fore, 
rgb_color back);
                        void                    SetSelectColor(rgb_color fore, 
rgb_color back);
-                       void                    SetCursorColor(rgb_color fore, 
rgb_color back);
 
                        int                             Encoding() const;
                        void                    SetEncoding(int encoding);
@@ -238,8 +237,6 @@
                        InlineInput*            fInline;
 
                        // Color and Attribute.
-                       rgb_color               fCursorForeColor;
-                       rgb_color               fCursorBackColor;
                        rgb_color               fSelectForeColor;
                        rgb_color               fSelectBackColor;
 

Modified: haiku/trunk/src/apps/terminal/TermWindow.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/TermWindow.cpp        2010-10-29 08:33:47 UTC 
(rev 39182)
+++ haiku/trunk/src/apps/terminal/TermWindow.cpp        2010-10-29 12:07:51 UTC 
(rev 39183)
@@ -744,9 +744,6 @@
 
        termView->SetSelectColor(handler->getRGB(PREF_SELECT_FORE_COLOR),
                handler->getRGB(PREF_SELECT_BACK_COLOR));
-
-       termView->SetCursorColor(handler->getRGB(PREF_CURSOR_FORE_COLOR),
-               handler->getRGB(PREF_CURSOR_BACK_COLOR));
 }
 
 


Other related posts: