mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.0320: no Haiku support
Problem: No Haiku support. Solution: Add support for Haiku. (Emir Sari, closes #5605)
This commit is contained in:
37
src/gui.c
37
src/gui.c
@@ -446,7 +446,8 @@ gui_init_check(void)
|
||||
gui.menu_width = 0;
|
||||
# endif
|
||||
#endif
|
||||
#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
|
||||
#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_HAIKU))
|
||||
gui.toolbar_height = 0;
|
||||
#endif
|
||||
#if defined(FEAT_FOOTER) && defined(FEAT_GUI_MOTIF)
|
||||
@@ -1371,10 +1372,11 @@ gui_position_components(int total_width UNUSED)
|
||||
text_area_y += gui.tabline_height;
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA))
|
||||
#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_HAIKU))
|
||||
if (vim_strchr(p_go, GO_TOOLBAR) != NULL)
|
||||
{
|
||||
# ifdef FEAT_GUI_ATHENA
|
||||
# if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)
|
||||
gui_mch_set_toolbar_pos(0, text_area_y,
|
||||
gui.menu_width, gui.toolbar_height);
|
||||
# endif
|
||||
@@ -1382,6 +1384,13 @@ gui_position_components(int total_width UNUSED)
|
||||
}
|
||||
#endif
|
||||
|
||||
# if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_HAIKU)
|
||||
gui_mch_set_tabline_pos(0, text_area_y,
|
||||
gui.menu_width, gui.tabline_height);
|
||||
if (gui_has_tabline())
|
||||
text_area_y += gui.tabline_height;
|
||||
#endif
|
||||
|
||||
text_area_width = gui.num_cols * gui.char_width + gui.border_offset * 2;
|
||||
text_area_height = gui.num_rows * gui.char_height + gui.border_offset * 2;
|
||||
|
||||
@@ -1453,7 +1462,7 @@ gui_get_base_height(void)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(FEAT_GUI_TABLINE) && (defined(FEAT_GUI_MSWIN) \
|
||||
|| defined(FEAT_GUI_MOTIF))
|
||||
|| defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_HAIKU))
|
||||
if (gui_has_tabline())
|
||||
base_height += gui.tabline_height;
|
||||
# endif
|
||||
@@ -1496,6 +1505,10 @@ again:
|
||||
new_pixel_height = 0;
|
||||
busy = TRUE;
|
||||
|
||||
#ifdef FEAT_GUI_HAIKU
|
||||
vim_lock_screen();
|
||||
#endif
|
||||
|
||||
// Flush pending output before redrawing
|
||||
out_flush();
|
||||
|
||||
@@ -1518,6 +1531,10 @@ again:
|
||||
|| gui.num_rows != Rows || gui.num_cols != Columns)
|
||||
shell_resized();
|
||||
|
||||
#ifdef FEAT_GUI_HAIKU
|
||||
vim_unlock_screen();
|
||||
#endif
|
||||
|
||||
gui_update_scrollbars(TRUE);
|
||||
gui_update_cursor(FALSE, TRUE);
|
||||
#if defined(FEAT_XIM) && !defined(FEAT_GUI_GTK)
|
||||
@@ -4254,9 +4271,10 @@ gui_update_scrollbars(
|
||||
y += gui.menu_height;
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_ATHENA))
|
||||
#if defined(FEAT_TOOLBAR) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_ATHENA) \
|
||||
|| defined(FEAT_GUI_HAIKU))
|
||||
if (vim_strchr(p_go, GO_TOOLBAR) != NULL)
|
||||
# ifdef FEAT_GUI_ATHENA
|
||||
# if defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_HAIKU)
|
||||
y += gui.toolbar_height;
|
||||
# else
|
||||
# ifdef FEAT_GUI_MSWIN
|
||||
@@ -4265,7 +4283,7 @@ gui_update_scrollbars(
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_MSWIN)
|
||||
#if defined(FEAT_GUI_TABLINE) && defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_HAIKU)
|
||||
if (gui_has_tabline())
|
||||
y += gui.tabline_height;
|
||||
#endif
|
||||
@@ -5035,10 +5053,11 @@ ex_gui(exarg_T *eap)
|
||||
}
|
||||
|
||||
#if ((defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_PHOTON)) \
|
||||
|| defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_PHOTON) \
|
||||
|| defined(FEAT_GUI_HAIKU)) \
|
||||
&& defined(FEAT_TOOLBAR)) || defined(PROTO)
|
||||
/*
|
||||
* This is shared between Athena, Motif and GTK.
|
||||
* This is shared between Athena, Haiku, Motif, and GTK.
|
||||
*/
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user