[Libreoffice-commits] core.git: Branch 'feature/tiled-editing' - libreofficekit/source
Henry Castro
hcastro at collabora.com
Tue Mar 31 12:46:33 PDT 2015
libreofficekit/source/gtk/lokdocview.cxx | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
New commits:
commit e3a87d7577eea1f015791ee154d98510cebc239e
Author: Henry Castro <hcastro at collabora.com>
Date: Tue Mar 31 15:37:53 2015 -0400
sc tiled editing: Invalidate graphic selection.
Invalidate before assignment and after new assignment graphic selection.
Change-Id: I3fe2c16663ac173e10dacb51c803614a538d7f49
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
index f5a3257..a3293ee 100644
--- a/libreofficekit/source/gtk/lokdocview.cxx
+++ b/libreofficekit/source/gtk/lokdocview.cxx
@@ -34,6 +34,8 @@
// Number of handles around a graphic selection.
#define GRAPHIC_HANDLE_COUNT 8
+static void lok_docview_callback_worker(int nType, const char* pPayload, void* pData);
+
// We know that VirtualDevices use a DPI of 96.
static const int DPI = 96;
@@ -981,7 +983,23 @@ static gboolean lok_docview_callback(gpointer pData)
case LOK_CALLBACK_GRAPHIC_SELECTION:
{
if (strcmp(pCallback->m_pPayload, "EMPTY") != 0)
+ {
+ // invalidate old graphic selection
+ gchar* pRect = g_strdup_printf("%d, %d, %d, %d",
+ pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.x, pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.y,
+ pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.width, pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.height);
+ lok_docview_callback_worker(LOK_CALLBACK_INVALIDATE_TILES, pRect, pCallback->m_pDocView);
+ g_free (pRect);
+
pCallback->m_pDocView->m_pImpl->m_aGraphicSelection = LOKDocView_Impl::payloadToRectangle(pCallback->m_pPayload);
+
+ // invalidate new graphic selection
+ pRect = g_strdup_printf("%d, %d, %d, %d",
+ pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.x, pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.y,
+ pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.width, pCallback->m_pDocView->m_pImpl->m_aGraphicSelection.height);
+ lok_docview_callback_worker(LOK_CALLBACK_INVALIDATE_TILES, pRect, pCallback->m_pDocView);
+ g_free (pRect);
+ }
else
memset(&pCallback->m_pDocView->m_pImpl->m_aGraphicSelection, 0, sizeof(pCallback->m_pDocView->m_pImpl->m_aGraphicSelection));
gtk_widget_queue_draw(GTK_WIDGET(pCallback->m_pDocView->m_pImpl->m_pEventBox));
More information about the Libreoffice-commits
mailing list