Gimp/app/tools/gimptexttool-editor.h
Jehan 0fcfd4f7b7 Bug 751333 - Crash when moving cursor with ibus "Hangul" input method...
... and improve input method UI. IM should not use some floating overlay
frame to display the preedit text. Instead it is now directly inserted
into the text tool box, as selected text. It permits redimensionning of
the text box while typing, and push the rest of the text when inserting
in the middle (instead of superimposing an overlay box over the current
text box, making everything unreadable).
Input methods still have a few more issues, but this fixes the main UI
weirdness as well as the crash with Hangul IM.
2016-04-16 14:24:54 +01:00

55 lines
2.8 KiB
C

/* GIMP - The GNU Image Manipulation Program
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
*
* GimpTextTool
* Copyright (C) 2002-2010 Sven Neumann <sven@gimp.org>
* Daniel Eddeland <danedde@svn.gnome.org>
* Michael Natterer <mitch@gimp.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GIMP_TEXT_TOOL_EDITOR_H__
#define __GIMP_TEXT_TOOL_EDITOR_H__
void gimp_text_tool_editor_init (GimpTextTool *text_tool);
void gimp_text_tool_editor_finalize (GimpTextTool *text_tool);
void gimp_text_tool_editor_start (GimpTextTool *text_tool);
void gimp_text_tool_editor_position (GimpTextTool *text_tool);
void gimp_text_tool_editor_halt (GimpTextTool *text_tool);
void gimp_text_tool_editor_button_press (GimpTextTool *text_tool,
gdouble x,
gdouble y,
GimpButtonPressType press_type);
void gimp_text_tool_editor_button_release (GimpTextTool *text_tool);
void gimp_text_tool_editor_motion (GimpTextTool *text_tool,
gdouble x,
gdouble y);
gboolean gimp_text_tool_editor_key_press (GimpTextTool *text_tool,
GdkEventKey *kevent);
gboolean gimp_text_tool_editor_key_release (GimpTextTool *text_tool,
GdkEventKey *kevent);
void gimp_text_tool_reset_im_context (GimpTextTool *text_tool);
void gimp_text_tool_editor_get_cursor_rect (GimpTextTool *text_tool,
gboolean overwrite,
PangoRectangle *cursor_rect);
void gimp_text_tool_editor_update_im_cursor (GimpTextTool *text_tool);
#endif /* __GIMP_TEXT_TOOL_EDITOR_H__ */