[vte] widget: Move some methods to VteTerminalPrivate
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte] widget: Move some methods to VteTerminalPrivate
- Date: Thu, 14 Jan 2016 16:11:35 +0000 (UTC)
commit 87d7f1701b6df48a01fc9ec7be1c7260dd3834d6
Author: Christian Persch <chpe gnome org>
Date: Thu Jan 14 17:05:35 2016 +0100
widget: Move some methods to VteTerminalPrivate
src/vteinternal.hh | 3 +++
src/vteseq.cc | 31 +++++++++++++++++++++++--------
2 files changed, 26 insertions(+), 8 deletions(-)
---
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index d0ada92..e7a7397 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -1120,6 +1120,9 @@ public:
inline void seq_set_mode_internal(long setting,
bool value);
inline void set_mouse_smooth_scroll_delta(double value);
+ inline void set_character_replacements(unsigned slot,
+ VteCharacterReplacement replacement);
+ inline void set_character_replacement(unsigned slot);
};
#define m_invalidated_all invalidated_all
diff --git a/src/vteseq.cc b/src/vteseq.cc
index eb2f65d..24a11e6 100644
--- a/src/vteseq.cc
+++ b/src/vteseq.cc
@@ -944,60 +944,75 @@ vte_sequence_handler_nop (VteTerminal *terminal, GValueArray *params)
{
}
+void
+VteTerminalPrivate::set_character_replacements(unsigned slot,
+ VteCharacterReplacement replacement)
+{
+ g_assert(slot < G_N_ELEMENTS(m_character_replacements));
+ m_character_replacements[slot] = replacement;
+}
+
/* G0 character set is a pass-thru (no mapping). */
static void
vte_sequence_handler_designate_g0_plain (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacements[0] = VTE_CHARACTER_REPLACEMENT_NONE;
+ terminal->pvt->set_character_replacements(0, VTE_CHARACTER_REPLACEMENT_NONE);
}
/* G0 character set is DEC Special Character and Line Drawing Set. */
static void
vte_sequence_handler_designate_g0_line_drawing (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacements[0] = VTE_CHARACTER_REPLACEMENT_LINE_DRAWING;
+ terminal->pvt->set_character_replacements(0, VTE_CHARACTER_REPLACEMENT_LINE_DRAWING);
}
/* G0 character set is British (# is converted to £). */
static void
vte_sequence_handler_designate_g0_british (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacements[0] = VTE_CHARACTER_REPLACEMENT_BRITISH;
+ terminal->pvt->set_character_replacements(0, VTE_CHARACTER_REPLACEMENT_BRITISH);
}
/* G1 character set is a pass-thru (no mapping). */
static void
vte_sequence_handler_designate_g1_plain (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacements[1] = VTE_CHARACTER_REPLACEMENT_NONE;
+ terminal->pvt->set_character_replacements(1, VTE_CHARACTER_REPLACEMENT_NONE);
}
/* G1 character set is DEC Special Character and Line Drawing Set. */
static void
vte_sequence_handler_designate_g1_line_drawing (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacements[1] = VTE_CHARACTER_REPLACEMENT_LINE_DRAWING;
+ terminal->pvt->set_character_replacements(1, VTE_CHARACTER_REPLACEMENT_LINE_DRAWING);
}
/* G1 character set is British (# is converted to £). */
static void
vte_sequence_handler_designate_g1_british (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacements[1] = VTE_CHARACTER_REPLACEMENT_BRITISH;
+ terminal->pvt->set_character_replacements(1, VTE_CHARACTER_REPLACEMENT_BRITISH);
+}
+
+void
+VteTerminalPrivate::set_character_replacement(unsigned slot)
+{
+ g_assert(slot < G_N_ELEMENTS(m_character_replacements));
+ m_character_replacement = &m_character_replacements[slot];
}
/* SI (shift in): switch to G0 character set. */
static void
vte_sequence_handler_shift_in (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacement = &terminal->pvt->character_replacements[0];
+ terminal->pvt->set_character_replacement(0);
}
/* SO (shift out): switch to G1 character set. */
static void
vte_sequence_handler_shift_out (VteTerminal *terminal, GValueArray *params)
{
- terminal->pvt->character_replacement = &terminal->pvt->character_replacements[1];
+ terminal->pvt->set_character_replacement(1);
}
/* Beep. */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]