Files
libreoffice/vcl/source/window/paint.cxx

1738 lines
58 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <config_features.h>
#include <vcl/window.hxx>
#include <vcl/dialog.hxx>
#include <vcl/virdev.hxx>
#include <vcl/cursor.hxx>
#include <vcl/settings.hxx>
#include <sal/types.h>
#include <window.h>
#include <salgdi.hxx>
#include <salframe.hxx>
#include <svdata.hxx>
#include <comphelper/lok.hxx>
#include <vcl/opengl/OpenGLHelper.hxx>
#define IMPL_PAINT_PAINT ((sal_uInt16)0x0001)
#define IMPL_PAINT_PAINTALL ((sal_uInt16)0x0002)
#define IMPL_PAINT_PAINTALLCHILDREN ((sal_uInt16)0x0004)
#define IMPL_PAINT_PAINTCHILDREN ((sal_uInt16)0x0008)
#define IMPL_PAINT_ERASE ((sal_uInt16)0x0010)
#define IMPL_PAINT_CHECKRTL ((sal_uInt16)0x0020)
// PaintBufferGuard
PaintBufferGuard::PaintBufferGuard(ImplFrameData* pFrameData, vcl::Window* pWindow)
: mpFrameData(pFrameData),
m_pWindow(pWindow),
mbBackground(false),
mnOutOffX(0),
mnOutOffY(0)
{
if (!pFrameData->mpBuffer)
return;
// transfer various settings
// FIXME: this must disappear as we move to RenderContext only,
// the painting must become state-less, so that no actual
// vcl::Window setting affects this
mbBackground = pFrameData->mpBuffer->IsBackground();
if (pWindow->IsBackground())
{
maBackground = pFrameData->mpBuffer->GetBackground();
pFrameData->mpBuffer->SetBackground(pWindow->GetBackground());
}
//else
//SAL_WARN("vcl.doublebuffering", "the root of the double-buffering hierarchy should not have a transparent background");
PushFlags nFlags = PushFlags::NONE;
nFlags |= PushFlags::CLIPREGION;
nFlags |= PushFlags::FILLCOLOR;
nFlags |= PushFlags::FONT;
nFlags |= PushFlags::LINECOLOR;
nFlags |= PushFlags::MAPMODE;
maSettings = pFrameData->mpBuffer->GetSettings();
nFlags |= PushFlags::REFPOINT;
nFlags |= PushFlags::TEXTCOLOR;
nFlags |= PushFlags::TEXTLINECOLOR;
nFlags |= PushFlags::OVERLINECOLOR;
nFlags |= PushFlags::TEXTFILLCOLOR;
nFlags |= PushFlags::TEXTALIGN;
nFlags |= PushFlags::RASTEROP;
nFlags |= PushFlags::TEXTLAYOUTMODE;
nFlags |= PushFlags::TEXTLANGUAGE;
pFrameData->mpBuffer->Push(nFlags);
pFrameData->mpBuffer->SetClipRegion(pWindow->GetClipRegion());
pFrameData->mpBuffer->SetFillColor(pWindow->GetFillColor());
pFrameData->mpBuffer->SetFont(pWindow->GetFont());
pFrameData->mpBuffer->SetLineColor(pWindow->GetLineColor());
pFrameData->mpBuffer->SetMapMode(pWindow->GetMapMode());
pFrameData->mpBuffer->SetRefPoint(pWindow->GetRefPoint());
pFrameData->mpBuffer->SetSettings(pWindow->GetSettings());
pFrameData->mpBuffer->SetTextColor(pWindow->GetTextColor());
pFrameData->mpBuffer->SetTextLineColor(pWindow->GetTextLineColor());
pFrameData->mpBuffer->SetOverlineColor(pWindow->GetOverlineColor());
pFrameData->mpBuffer->SetTextFillColor(pWindow->GetTextFillColor());
pFrameData->mpBuffer->SetTextAlign(pWindow->GetTextAlign());
pFrameData->mpBuffer->SetRasterOp(pWindow->GetRasterOp());
pFrameData->mpBuffer->SetLayoutMode(pWindow->GetLayoutMode());
pFrameData->mpBuffer->SetDigitLanguage(pWindow->GetDigitLanguage());
mnOutOffX = pFrameData->mpBuffer->GetOutOffXPixel();
mnOutOffY = pFrameData->mpBuffer->GetOutOffYPixel();
pFrameData->mpBuffer->SetOutOffXPixel(pWindow->GetOutOffXPixel());
pFrameData->mpBuffer->SetOutOffYPixel(pWindow->GetOutOffYPixel());
}
PaintBufferGuard::~PaintBufferGuard()
{
if (!mpFrameData->mpBuffer)
return;
if (!m_aPaintRect.IsEmpty())
{
// copy the buffer content to the actual window
// export VCL_DOUBLEBUFFERING_AVOID_PAINT=1 to see where we are
// painting directly instead of using Invalidate()
// [ie. everything you can see was painted directly to the
// window either above or in eg. an event handler]
if (!getenv("VCL_DOUBLEBUFFERING_AVOID_PAINT"))
{
// Make sure that the +1 value GetSize() adds to the size is in pixels.
Size aPaintRectSize;
if (m_pWindow->GetMapMode().GetMapUnit() == MAP_PIXEL)
{
aPaintRectSize = m_aPaintRect.GetSize();
}
else
{
Rectangle aRectanglePixel = m_pWindow->LogicToPixel(m_aPaintRect);
aPaintRectSize = m_pWindow->PixelToLogic(aRectanglePixel.GetSize());
}
m_pWindow->DrawOutDev(m_aPaintRect.TopLeft(), aPaintRectSize, m_aPaintRect.TopLeft(), aPaintRectSize, *mpFrameData->mpBuffer.get());
}
}
// Restore buffer state.
mpFrameData->mpBuffer->SetOutOffXPixel(mnOutOffX);
mpFrameData->mpBuffer->SetOutOffYPixel(mnOutOffY);
mpFrameData->mpBuffer->Pop();
mpFrameData->mpBuffer->SetSettings(maSettings);
if (mbBackground)
mpFrameData->mpBuffer->SetBackground(maBackground);
else
mpFrameData->mpBuffer->SetBackground();
}
void PaintBufferGuard::SetPaintRect(const Rectangle& rRectangle)
{
m_aPaintRect = rRectangle;
}
vcl::RenderContext* PaintBufferGuard::GetRenderContext()
{
if (mpFrameData->mpBuffer)
return mpFrameData->mpBuffer;
else
return m_pWindow;
}
class PaintHelper
{
private:
vclwidget: change all vcl::window fields to be wrapped in VclPtr and update the VclWidget clang plugin to - warn about unconverted fields - .clear() all VclPtr fields in dispose() methods Change-Id: I6e657c215bc6807efd992555399b3b1fc16c89b5 2 1 accessibility/inc/accessibility/extended/accessibleiconchoicectrlentry.hxx 2 1 accessibility/inc/accessibility/extended/accessibletabbarbase.hxx 1 1 accessibility/inc/accessibility/extended/accessibletablistbox.hxx 1 1 accessibility/inc/accessibility/extended/accessibletablistboxtable.hxx 3 2 accessibility/inc/accessibility/extended/listboxaccessible.hxx 1 1 accessibility/inc/accessibility/extended/textwindowaccessibility.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessiblemenubar.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessiblestatusbar.hxx 4 4 accessibility/inc/accessibility/standard/vclxaccessiblestatusbaritem.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessibletabcontrol.hxx 2 1 accessibility/inc/accessibility/standard/vclxaccessibletabpage.hxx 3 2 accessibility/inc/accessibility/standard/vclxaccessibletabpagewindow.hxx 7 6 accessibility/inc/accessibility/standard/vclxaccessibletoolboxitem.hxx 3 3 accessibility/source/extended/AccessibleToolPanelDeck.cxx 2 2 accessibility/source/extended/AccessibleToolPanelDeckTabBar.cxx 2 2 accessibility/source/extended/AccessibleToolPanelDeckTabBarItem.cxx 1 1 accessibility/source/extended/accessibleiconchoicectrlentry.cxx 3 3 accessibility/source/extended/textwindowaccessibility.cxx 3 3 accessibility/source/standard/vclxaccessibleradiobutton.cxx 1 1 accessibility/source/standard/vclxaccessibletabpagewindow.cxx 1 1 avmedia/inc/mediacontrol.hxx 1 2 avmedia/source/framework/mediacontrol.cxx 1 1 avmedia/source/framework/mediaplayer.cxx 7 7 avmedia/source/viewer/mediaevent_impl.cxx 2 1 avmedia/source/viewer/mediaevent_impl.hxx 1 2 avmedia/source/viewer/mediawindow_impl.cxx 1 1 avmedia/source/viewer/mediawindow_impl.hxx 1 1 basctl/source/basicide/basicrenderable.hxx 1 0 basctl/source/basicide/baside2.cxx 7 5 basctl/source/basicide/baside2.hxx 13 2 basctl/source/basicide/baside2b.cxx 3 3 basctl/source/basicide/baside3.cxx 14 14 basctl/source/basicide/basides1.cxx 4 4 basctl/source/basicide/basides2.cxx 2 2 basctl/source/basicide/basides3.cxx 6 6 basctl/source/basicide/basidesh.cxx 14 1 basctl/source/basicide/bastypes.cxx 15 0 basctl/source/basicide/brkdlg.cxx 8 6 basctl/source/basicide/brkdlg.hxx 11 0 basctl/source/basicide/layout.cxx 5 2 basctl/source/basicide/layout.hxx 11 0 basctl/source/basicide/linenumberwindow.cxx 3 1 basctl/source/basicide/linenumberwindow.hxx 14 0 basctl/source/basicide/macrodlg.cxx 15 15 basctl/source/basicide/macrodlg.hxx 45 1 basctl/source/basicide/moduldl2.cxx 32 1 basctl/source/basicide/moduldlg.cxx 36 26 basctl/source/basicide/moduldlg.hxx 20 0 basctl/source/dlged/managelang.cxx 2 1 basctl/source/inc/accessibledialogcontrolshape.hxx 2 1 basctl/source/inc/accessibledialogwindow.hxx 2 2 basctl/source/inc/baside3.hxx 4 4 basctl/source/inc/basidesh.hxx 5 4 basctl/source/inc/bastypes.hxx 3 2 basctl/source/inc/dlged.hxx 12 10 basctl/source/inc/managelang.hxx 1 1 chart2/inc/ChartModel.hxx 2 1 chart2/source/controller/accessibility/AccessibleViewForwarder.hxx 2 2 chart2/source/controller/dialogs/ChartTypeDialogController.hxx 1 2 chart2/source/controller/dialogs/dlg_ChartType.cxx 2 10 chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx 1 0 chart2/source/controller/dialogs/dlg_DataEditor.cxx 4 6 chart2/source/controller/dialogs/dlg_DataSource.cxx 17 0 chart2/source/controller/dialogs/dlg_InsertAxis_Grid.cxx 6 8 chart2/source/controller/dialogs/dlg_View3D.cxx 2 2 chart2/source/controller/dialogs/res_BarGeometry.hxx 19 19 chart2/source/controller/dialogs/res_DataLabel.hxx 23 23 chart2/source/controller/dialogs/res_Trendline.hxx 14 0 chart2/source/controller/dialogs/tp_3D_SceneAppearance.cxx 6 4 chart2/source/controller/dialogs/tp_3D_SceneAppearance.hxx 18 0 chart2/source/controller/dialogs/tp_3D_SceneGeometry.cxx 9 7 chart2/source/controller/dialogs/tp_3D_SceneGeometry.hxx 14 1 chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx 16 16 chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx 17 0 chart2/source/controller/dialogs/tp_AxisLabel.cxx 17 17 chart2/source/controller/dialogs/tp_AxisLabel.hxx 24 0 chart2/source/controller/dialogs/tp_AxisPositions.cxx 20 18 chart2/source/controller/dialogs/tp_AxisPositions.hxx 44 19 chart2/source/controller/dialogs/tp_ChartType.cxx 3 3 chart2/source/controller/dialogs/tp_ChartType.hxx 28 0 chart2/source/controller/dialogs/tp_DataSource.cxx 22 20 chart2/source/controller/dialogs/tp_DataSource.hxx 12 0 chart2/source/controller/dialogs/tp_LegendPosition.cxx 3 1 chart2/source/controller/dialogs/tp_LegendPosition.hxx 16 0 chart2/source/controller/dialogs/tp_PolarOptions.cxx 8 6 chart2/source/controller/dialogs/tp_PolarOptions.hxx 24 0 chart2/source/controller/dialogs/tp_RangeChooser.cxx 15 13 chart2/source/controller/dialogs/tp_RangeChooser.hxx 35 0 chart2/source/controller/dialogs/tp_Scale.cxx 34 32 chart2/source/controller/dialogs/tp_Scale.hxx 24 0 chart2/source/controller/dialogs/tp_SeriesToAxis.cxx 19 17 chart2/source/controller/dialogs/tp_SeriesToAxis.hxx 7 0 chart2/source/controller/dialogs/tp_TitleRotation.cxx 7 7 chart2/source/controller/dialogs/tp_TitleRotation.hxx 13 0 chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.cxx 5 3 chart2/source/controller/dialogs/tp_Wizard_TitlesAndObjects.hxx 1 1 chart2/source/controller/inc/dlg_ChartType.hxx 1 1 chart2/source/controller/inc/dlg_CreationWizard_UNO.hxx 1 1 chart2/source/controller/inc/dlg_DataEditor.hxx 4 4 chart2/source/controller/inc/dlg_DataSource.hxx 8 6 chart2/source/controller/inc/dlg_InsertAxis_Grid.hxx 4 4 chart2/source/controller/inc/dlg_View3D.hxx 27 27 chart2/source/controller/inc/res_ErrorBar.hxx 5 5 chart2/source/controller/inc/res_LegendPosition.hxx 14 14 chart2/source/controller/inc/res_Titles.hxx 1 1 chart2/source/controller/main/ChartController.hxx 2 3 chart2/source/controller/main/ChartWindow.cxx 1 1 chart2/source/controller/main/ChartWindow.hxx 6 6 chart2/source/controller/main/ShapeController.cxx 1 1 chart2/source/view/charttypes/GL3DBarChart.cxx 1 1 chart2/source/view/inc/GL3DBarChart.hxx 1 1 chart2/source/view/main/ChartView.cxx 155 50 compilerplugins/clang/vclwidgets.cxx 23 0 cui/source/customize/acccfg.cxx 95 20 cui/source/customize/cfg.cxx 1 0 cui/source/customize/cfgutil.cxx 1 0 cui/source/customize/eventdlg.cxx 1 1 cui/source/customize/eventdlg.hxx 12 0 cui/source/customize/macropg.cxx 8 6 cui/source/customize/macropg_impl.hxx 17 0 cui/source/customize/selector.cxx 20 0 cui/source/dialogs/SpellDialog.cxx 17 0 cui/source/dialogs/about.cxx 56 26 cui/source/dialogs/colorpicker.cxx 19 0 cui/source/dialogs/cuicharmap.cxx 29 1 cui/source/dialogs/cuifmsearch.cxx 84 2 cui/source/dialogs/cuigaldlg.cxx 72 0 cui/source/dialogs/cuigrfflt.cxx 15 0 cui/source/dialogs/cuiimapwnd.cxx 11 0 cui/source/dialogs/cuitbxform.cxx 41 0 cui/source/dialogs/dlgname.cxx 79 5 cui/source/dialogs/hangulhanjadlg.cxx 5 0 cui/source/dialogs/hldocntp.cxx 15 0 cui/source/dialogs/hldoctp.cxx 20 1 cui/source/dialogs/hlinettp.cxx 14 0 cui/source/dialogs/hlmailtp.cxx 15 0 cui/source/dialogs/hlmarkwn.cxx 9 5 cui/source/dialogs/hltpbase.cxx 18 0 cui/source/dialogs/hyphen.cxx 18 2 cui/source/dialogs/iconcdlg.cxx 45 0 cui/source/dialogs/insdlg.cxx 13 0 cui/source/dialogs/insrc.cxx 20 0 cui/source/dialogs/linkdlg.cxx 13 8 cui/source/dialogs/multipat.cxx 12 0 cui/source/dialogs/newtabledlg.cxx 9 9 cui/source/dialogs/passwdomdlg.cxx 13 0 cui/source/dialogs/pastedlg.cxx 7 0 cui/source/dialogs/postdlg.cxx 18 0 cui/source/dialogs/scriptdlg.cxx 11 0 cui/source/dialogs/showcols.cxx 14 0 cui/source/dialogs/splitcelldlg.cxx 25 0 cui/source/dialogs/srchxtra.cxx 39 0 cui/source/dialogs/thesdlg.cxx 13 0 cui/source/dialogs/zoom.cxx 29 0 cui/source/factory/cuiexp.cxx 0 2 cui/source/factory/dlgfact.cxx 2 3 cui/source/factory/dlgfact.hxx 3 1 cui/source/inc/ControlFocusHelper.hxx 20 20 cui/source/inc/SpellDialog.hxx 9 7 cui/source/inc/about.hxx 14 12 cui/source/inc/acccfg.hxx 26 26 cui/source/inc/align.hxx 62 52 cui/source/inc/autocdlg.hxx 29 29 cui/source/inc/backgrnd.hxx 34 32 cui/source/inc/border.hxx 44 33 cui/source/inc/cfg.hxx 1 1 cui/source/inc/cfgutil.hxx 95 85 cui/source/inc/chardlg.hxx 14 12 cui/source/inc/connect.hxx 12 10 cui/source/inc/cuicharmap.hxx 27 27 cui/source/inc/cuifmsearch.hxx 41 29 cui/source/inc/cuigaldlg.hxx 24 10 cui/source/inc/cuigrfflt.hxx 1 1 cui/source/inc/cuihyperdlg.hxx 7 5 cui/source/inc/cuiimapwnd.hxx 3 1 cui/source/inc/cuioptgenrl.hxx 3 1 cui/source/inc/cuisrchdlg.hxx 145 135 cui/source/inc/cuitabarea.hxx 57 53 cui/source/inc/cuitabline.hxx 3 1 cui/source/inc/cuitbxform.hxx 5 5 cui/source/inc/dbregister.hxx 17 12 cui/source/inc/dlgname.hxx 15 11 cui/source/inc/dstribut.hxx 21 21 cui/source/inc/grfpage.hxx 49 43 cui/source/inc/hangulhanjadlg.hxx 5 5 cui/source/inc/hldocntp.hxx 7 5 cui/source/inc/hldoctp.hxx 11 9 cui/source/inc/hlinettp.hxx 6 4 cui/source/inc/hlmailtp.hxx 7 5 cui/source/inc/hlmarkwn.hxx 7 7 cui/source/inc/hltpbase.hxx 10 8 cui/source/inc/hyphen.hxx 14 12 cui/source/inc/iconcdlg.hxx 29 25 cui/source/inc/insdlg.hxx 5 3 cui/source/inc/insrc.hxx 12 10 cui/source/inc/labdlg.hxx 12 10 cui/source/inc/linkdlg.hxx 19 17 cui/source/inc/measure.hxx 6 6 cui/source/inc/multipat.hxx 4 2 cui/source/inc/newtabledlg.hxx 30 30 cui/source/inc/numfmt.hxx 64 64 cui/source/inc/numpages.hxx 13 13 cui/source/inc/optasian.hxx 17 13 cui/source/inc/optdict.hxx 18 18 cui/source/inc/optlingu.hxx 4 4 cui/source/inc/optpath.hxx 29 29 cui/source/inc/page.hxx 71 59 cui/source/inc/paragrph.hxx 6 4 cui/source/inc/pastedlg.hxx 7 7 cui/source/inc/postdlg.hxx 11 9 cui/source/inc/scriptdlg.hxx 9 7 cui/source/inc/selector.hxx 4 2 cui/source/inc/showcols.hxx 6 4 cui/source/inc/splitcelldlg.hxx 10 6 cui/source/inc/srchxtra.hxx 28 26 cui/source/inc/swpossizetabpage.hxx 29 27 cui/source/inc/tabstpge.hxx 20 17 cui/source/inc/textanim.hxx 19 16 cui/source/inc/textattr.hxx 15 8 cui/source/inc/thesdlg.hxx 34 28 cui/source/inc/transfrm.hxx 5 5 cui/source/inc/treeopt.hxx 13 13 cui/source/inc/zoom.hxx 4 2 cui/source/options/certpath.cxx 4 4 cui/source/options/certpath.hxx 17 0 cui/source/options/connpooloptions.cxx 10 8 cui/source/options/connpooloptions.hxx 11 0 cui/source/options/cuisrchdlg.cxx 5 2 cui/source/options/dbregister.cxx 14 0 cui/source/options/doclinkdialog.cxx 6 4 cui/source/options/doclinkdialog.hxx 10 2 cui/source/options/fontsubs.cxx 12 12 cui/source/options/fontsubs.hxx 26 0 cui/source/options/optaboutconfig.cxx 10 6 cui/source/options/optaboutconfig.hxx 9 0 cui/source/options/optaccessibility.cxx 9 9 cui/source/options/optaccessibility.hxx 13 0 cui/source/options/optasian.cxx 16 0 cui/source/options/optbasic.cxx 8 6 cui/source/options/optbasic.hxx 5 0 cui/source/options/optchart.cxx 5 5 cui/source/options/optchart.hxx 29 32 cui/source/options/optcolor.cxx 4 4 cui/source/options/optcolor.hxx 16 0 cui/source/options/optctl.cxx 8 6 cui/source/options/optctl.hxx 31 0 cui/source/options/optdict.cxx 21 2 cui/source/options/optfltr.cxx 12 10 cui/source/options/optfltr.hxx 54 0 cui/source/options/optgdlg.cxx 47 45 cui/source/options/optgdlg.hxx 12 2 cui/source/options/optgenrl.cxx 26 0 cui/source/options/opthtml.cxx 18 16 cui/source/options/opthtml.hxx 45 4 cui/source/options/optinet2.cxx 37 35 cui/source/options/optinet2.hxx 29 6 cui/source/options/optjava.cxx 23 21 cui/source/options/optjava.hxx 28 0 cui/source/options/optjsearch.cxx 22 20 cui/source/options/optjsearch.hxx 31 4 cui/source/options/optlingu.cxx 17 0 cui/source/options/optmemory.cxx 9 7 cui/source/options/optmemory.hxx 44 5 cui/source/options/optopencl.cxx 21 20 cui/source/options/optopencl.hxx 4 2 cui/source/options/optpath.cxx 17 0 cui/source/options/optsave.cxx 19 19 cui/source/options/optsave.hxx 19 0 cui/source/options/optupdt.cxx 12 10 cui/source/options/optupdt.hxx 39 0 cui/source/options/personalization.cxx 20 16 cui/source/options/personalization.hxx 18 0 cui/source/options/securityoptions.cxx 10 8 cui/source/options/securityoptions.hxx 11 10 cui/source/options/treeopt.cxx 4 2 cui/source/options/webconninfo.cxx 4 4 cui/source/options/webconninfo.hxx 24 0 cui/source/tabpages/align.cxx 106 7 cui/source/tabpages/autocdlg.cxx 27 0 cui/source/tabpages/backgrnd.cxx 34 0 cui/source/tabpages/border.cxx 115 1 cui/source/tabpages/chardlg.cxx 22 0 cui/source/tabpages/connect.cxx 32 0 cui/source/tabpages/dstribut.cxx 18 0 cui/source/tabpages/grfpage.cxx 20 0 cui/source/tabpages/labdlg.cxx 10 10 cui/source/tabpages/macroass.cxx 25 0 cui/source/tabpages/measure.cxx 25 1 cui/source/tabpages/numfmt.cxx 60 1 cui/source/tabpages/numpages.cxx 29 0 cui/source/tabpages/page.cxx 99 0 cui/source/tabpages/paragrph.cxx 37 0 cui/source/tabpages/swpossizetabpage.cxx 34 1 cui/source/tabpages/tabstpge.cxx 26 0 cui/source/tabpages/textanim.cxx 24 0 cui/source/tabpages/textattr.cxx 72 0 cui/source/tabpages/tparea.cxx 14 1 cui/source/tabpages/tpbitmap.cxx 28 4 cui/source/tabpages/tpcolor.cxx 28 0 cui/source/tabpages/tpgradnt.cxx 21 0 cui/source/tabpages/tphatch.cxx 29 0 cui/source/tabpages/tpline.cxx 25 0 cui/source/tabpages/tplnedef.cxx 18 0 cui/source/tabpages/tplneend.cxx 17 0 cui/source/tabpages/tpshadow.cxx 58 0 cui/source/tabpages/transfrm.cxx 42 0 dbaccess/source/ext/macromigration/macromigrationpages.cxx 20 14 dbaccess/source/ext/macromigration/macromigrationpages.hxx 1 1 dbaccess/source/ext/macromigration/rangeprogressbar.hxx 0 1 dbaccess/source/ui/app/AppDetailPageHelper.cxx 2 1 dbaccess/source/ui/app/AppDetailView.cxx 2 2 dbaccess/source/ui/app/AppDetailView.hxx 1 1 dbaccess/source/ui/app/AppTitleWindow.cxx 1 1 dbaccess/source/ui/app/AppTitleWindow.hxx 4 10 dbaccess/source/ui/app/AppView.cxx 4 4 dbaccess/source/ui/app/AppView.hxx 1 0 dbaccess/source/ui/app/subcomponentmanager.cxx 7 16 dbaccess/source/ui/browser/brwview.cxx 1 2 dbaccess/source/ui/browser/dbtreeview.cxx 1 1 dbaccess/source/ui/browser/dbtreeview.hxx 10 0 dbaccess/source/ui/browser/genericcontroller.cxx 68 41 dbaccess/source/ui/control/FieldDescControl.cxx 2 2 dbaccess/source/ui/control/TableGrantCtrl.cxx 3 1 dbaccess/source/ui/control/VertSplitView.cxx 3 3 dbaccess/source/ui/control/curledit.cxx 1 0 dbaccess/source/ui/control/sqledit.cxx 16 0 dbaccess/source/ui/dlg/CollectionView.cxx 4 8 dbaccess/source/ui/dlg/ConnectionHelper.cxx 4 5 dbaccess/source/ui/dlg/ConnectionHelper.hxx 19 0 dbaccess/source/ui/dlg/ConnectionPage.cxx 13 11 dbaccess/source/ui/dlg/ConnectionPage.hxx 12 0 dbaccess/source/ui/dlg/ConnectionPageSetup.cxx 4 2 dbaccess/source/ui/dlg/ConnectionPageSetup.hxx 113 1 dbaccess/source/ui/dlg/DBSetupConnectionPages.cxx 61 48 dbaccess/source/ui/dlg/DBSetupConnectionPages.hxx 2 1 dbaccess/source/ui/dlg/DbAdminImpl.hxx 13 0 dbaccess/source/ui/dlg/QueryPropertiesDialog.cxx 20 0 dbaccess/source/ui/dlg/RelationDlg.cxx 30 1 dbaccess/source/ui/dlg/TextConnectionHelper.cxx 21 19 dbaccess/source/ui/dlg/TextConnectionHelper.hxx 19 5 dbaccess/source/ui/dlg/UserAdmin.cxx 4 4 dbaccess/source/ui/dlg/UserAdmin.hxx 22 0 dbaccess/source/ui/dlg/admincontrols.cxx 14 13 dbaccess/source/ui/dlg/admincontrols.hxx 1 1 dbaccess/source/ui/dlg/adminpages.hxx 6 0 dbaccess/source/ui/dlg/adtabdlg.cxx 57 31 dbaccess/source/ui/dlg/advancedsettings.cxx 28 28 dbaccess/source/ui/dlg/advancedsettings.hxx 19 0 dbaccess/source/ui/dlg/dbfindex.cxx 11 9 dbaccess/source/ui/dlg/dbfindex.hxx 7 4 dbaccess/source/ui/dlg/dbwizsetup.cxx 86 16 dbaccess/source/ui/dlg/detailpages.cxx 45 35 dbaccess/source/ui/dlg/detailpages.hxx 7 0 dbaccess/source/ui/dlg/directsql.cxx 8 8 dbaccess/source/ui/dlg/dlgsave.cxx 13 0 dbaccess/source/ui/dlg/dlgsize.cxx 14 0 dbaccess/source/ui/dlg/dsselect.cxx 6 5 dbaccess/source/ui/dlg/dsselect.hxx 30 0 dbaccess/source/ui/dlg/generalpage.cxx 15 11 dbaccess/source/ui/dlg/generalpage.hxx 9 0 dbaccess/source/ui/dlg/indexdialog.cxx 2 2 dbaccess/source/ui/dlg/indexfieldscontrol.cxx 5 0 dbaccess/source/ui/dlg/paramdialog.cxx 21 0 dbaccess/source/ui/dlg/queryfilter.cxx 18 0 dbaccess/source/ui/dlg/queryorder.cxx 9 2 dbaccess/source/ui/dlg/sqlmessage.cxx 3 0 dbaccess/source/ui/dlg/tablespage.cxx 3 3 dbaccess/source/ui/dlg/tablespage.hxx 11 0 dbaccess/source/ui/dlg/textconnectionsettings.cxx 8 7 dbaccess/source/ui/inc/CollectionView.hxx 2 1 dbaccess/source/ui/inc/ConnectionLine.hxx 2 1 dbaccess/source/ui/inc/ConnectionLineAccess.hxx 35 35 dbaccess/source/ui/inc/FieldDescControl.hxx 2 1 dbaccess/source/ui/inc/JAccess.hxx 1 1 dbaccess/source/ui/inc/JoinController.hxx 2 2 dbaccess/source/ui/inc/JoinDesignView.hxx 13 13 dbaccess/source/ui/inc/JoinTableView.hxx 1 1 dbaccess/source/ui/inc/QueryDesignView.hxx 5 4 dbaccess/source/ui/inc/QueryPropertiesDialog.hxx 1 1 dbaccess/source/ui/inc/QueryTextView.hxx 2 2 dbaccess/source/ui/inc/QueryViewSwitch.hxx 3 3 dbaccess/source/ui/inc/RelationControl.hxx 11 9 dbaccess/source/ui/inc/RelationDlg.hxx 1 1 dbaccess/source/ui/inc/RelationTableView.hxx 1 1 dbaccess/source/ui/inc/TableConnection.hxx 1 1 dbaccess/source/ui/inc/TableDesignHelpBar.hxx 3 3 dbaccess/source/ui/inc/TableDesignView.hxx 2 1 dbaccess/source/ui/inc/TableFieldDescription.hxx 2 2 dbaccess/source/ui/inc/TableGrantCtrl.hxx 1 1 dbaccess/source/ui/inc/TableWindow.hxx 2 1 dbaccess/source/ui/inc/TableWindowAccess.hxx 2 2 dbaccess/source/ui/inc/TableWindowListBox.hxx 1 1 dbaccess/source/ui/inc/TableWindowTitle.hxx 1 1 dbaccess/source/ui/inc/TokenWriter.hxx 3 3 dbaccess/source/ui/inc/VertSplitView.hxx 13 11 dbaccess/source/ui/inc/WCPage.hxx 6 6 dbaccess/source/ui/inc/WColumnSelect.hxx 5 5 dbaccess/source/ui/inc/WCopyTable.hxx 12 11 dbaccess/source/ui/inc/WNameMatch.hxx 3 1 dbaccess/source/ui/inc/WTabPage.hxx 13 9 dbaccess/source/ui/inc/WTypeSelect.hxx 6 6 dbaccess/source/ui/inc/adtabdlg.hxx 5 5 dbaccess/source/ui/inc/brwview.hxx 1 1 dbaccess/source/ui/inc/curledit.hxx 4 3 dbaccess/source/ui/inc/datasourceconnector.hxx 3 3 dbaccess/source/ui/inc/dbwizsetup.hxx 7 7 dbaccess/source/ui/inc/directsql.hxx 4 2 dbaccess/source/ui/inc/dlgsize.hxx 9 9 dbaccess/source/ui/inc/indexdialog.hxx 2 2 dbaccess/source/ui/inc/indexfieldscontrol.hxx 2 1 dbaccess/source/ui/inc/linkeddocuments.hxx 5 5 dbaccess/source/ui/inc/paramdialog.hxx 2 2 dbaccess/source/ui/inc/querycontainerwindow.hxx 13 11 dbaccess/source/ui/inc/queryfilter.hxx 10 8 dbaccess/source/ui/inc/queryorder.hxx 1 1 dbaccess/source/ui/inc/sqledit.hxx 3 1 dbaccess/source/ui/inc/textconnectionsettings.hxx 2 1 dbaccess/source/ui/inc/undosqledit.hxx 5 5 dbaccess/source/ui/inc/unodatbr.hxx 1 1 dbaccess/source/ui/misc/ToolBoxHelper.cxx 23 0 dbaccess/source/ui/misc/WCPage.cxx 17 0 dbaccess/source/ui/misc/WColumnSelect.cxx 5 5 dbaccess/source/ui/misc/WCopyTable.cxx 20 0 dbaccess/source/ui/misc/WNameMatch.cxx 41 13 dbaccess/source/ui/misc/WTypeSelect.cxx 1 0 dbaccess/source/ui/misc/singledoccontroller.cxx 5 4 dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx 1 1 dbaccess/source/ui/querydesign/JoinController.cxx 2 4 dbaccess/source/ui/querydesign/JoinDesignView.cxx 25 25 dbaccess/source/ui/querydesign/JoinTableView.cxx 1 1 dbaccess/source/ui/querydesign/QTableWindow.cxx 1 1 dbaccess/source/ui/querydesign/QueryDesignFieldUndoAct.hxx 2 1 dbaccess/source/ui/querydesign/QueryDesignUndoAction.hxx 29 30 dbaccess/source/ui/querydesign/QueryDesignView.cxx 1 1 dbaccess/source/ui/querydesign/QueryMoveTabWinUndoAct.hxx 1 1 dbaccess/source/ui/querydesign/QuerySizeTabWinUndoAct.hxx 9 9 dbaccess/source/ui/querydesign/QueryTabConnUndoAction.cxx 1 1 dbaccess/source/ui/querydesign/QueryTabConnUndoAction.hxx 3 5 dbaccess/source/ui/querydesign/QueryTabWinUndoAct.cxx 3 3 dbaccess/source/ui/querydesign/QueryTabWinUndoAct.hxx 24 30 dbaccess/source/ui/querydesign/QueryTableView.cxx 1 2 dbaccess/source/ui/querydesign/QueryTextView.cxx 12 10 dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx 6 6 dbaccess/source/ui/querydesign/SelectionBrowseBox.hxx 1 1 dbaccess/source/ui/querydesign/TableConnection.cxx 1 0 dbaccess/source/ui/querydesign/TableFieldDescription.cxx 2 3 dbaccess/source/ui/querydesign/TableWindow.cxx 4 4 dbaccess/source/ui/querydesign/TableWindowAccess.cxx 1 1 dbaccess/source/ui/querydesign/TableWindowListBox.cxx 3 5 dbaccess/source/ui/querydesign/TableWindowTitle.cxx 1 2 dbaccess/source/ui/querydesign/limitboxcontroller.cxx 2 1 dbaccess/source/ui/querydesign/limitboxcontroller.hxx 2 3 dbaccess/source/ui/querydesign/querycontainerwindow.cxx 5 0 dbaccess/source/ui/querydesign/querydlg.cxx 5 5 dbaccess/source/ui/querydesign/querydlg.hxx 3 2 dbaccess/source/ui/relationdesign/RelationTableView.cxx 1 2 dbaccess/source/ui/tabledesign/FieldDescGenWin.cxx 1 1 dbaccess/source/ui/tabledesign/FieldDescGenWin.hxx 5 4 dbaccess/source/ui/tabledesign/TEditControl.cxx 6 6 dbaccess/source/ui/tabledesign/TEditControl.hxx 1 2 dbaccess/source/ui/tabledesign/TableDesignHelpBar.cxx 3 14 dbaccess/source/ui/tabledesign/TableDesignView.cxx 3 12 dbaccess/source/ui/tabledesign/TableFieldDescWin.cxx 3 3 dbaccess/source/ui/tabledesign/TableFieldDescWin.hxx 4 3 dbaccess/source/ui/tabledesign/TableUndo.hxx 1 1 dbaccess/source/ui/uno/DBTypeWizDlgSetup.cxx 3 3 dbaccess/source/ui/uno/composerdialogs.cxx 1 1 dbaccess/source/ui/uno/copytablewizard.cxx 4 4 desktop/source/app/cmdlinehelp.hxx 10 0 desktop/source/deployment/gui/dp_gui_dependencydialog.cxx 3 1 desktop/source/deployment/gui/dp_gui_dependencydialog.hxx 36 7 desktop/source/deployment/gui/dp_gui_dialog2.cxx 22 20 desktop/source/deployment/gui/dp_gui_dialog2.hxx 3 11 desktop/source/deployment/gui/dp_gui_extlistbox.cxx 3 3 desktop/source/deployment/gui/dp_gui_extlistbox.hxx 5 12 desktop/source/deployment/gui/dp_gui_theextmgr.cxx 3 3 desktop/source/deployment/gui/dp_gui_theextmgr.hxx 15 1 desktop/source/deployment/gui/dp_gui_updatedialog.cxx 15 15 desktop/source/deployment/gui/dp_gui_updatedialog.hxx 7 0 desktop/source/deployment/gui/dp_gui_updateinstalldialog.cxx 7 7 desktop/source/deployment/gui/dp_gui_updateinstalldialog.hxx 22 7 desktop/source/deployment/gui/license_dialog.cxx 2 1 editeng/source/editeng/impedit.hxx 2 1 editeng/source/editeng/textconv.hxx 1 1 editeng/source/misc/hangulhanja.cxx 2 2 editeng/source/misc/splwrap.cxx 6 0 extensions/source/abpilot/abpfinalpage.cxx 7 6 extensions/source/abpilot/abpfinalpage.hxx 2 1 extensions/source/abpilot/admininvokationimpl.hxx 10 1 extensions/source/abpilot/admininvokationpage.cxx 4 3 extensions/source/abpilot/admininvokationpage.hxx 12 0 extensions/source/abpilot/fieldmappingpage.cxx 5 3 extensions/source/abpilot/fieldmappingpage.hxx 10 0 extensions/source/abpilot/tableselectionpage.cxx 4 2 extensions/source/abpilot/tableselectionpage.hxx 11 0 extensions/source/abpilot/typeselectionpage.cxx 13 12 extensions/source/abpilot/typeselectionpage.hxx 1 1 extensions/source/abpilot/unodialogabp.cxx 4 3 extensions/source/bibliography/bibbeam.cxx 2 2 extensions/source/bibliography/bibbeam.hxx 5 2 extensions/source/bibliography/bibcont.cxx 2 2 extensions/source/bibliography/bibcont.hxx 1 0 extensions/source/bibliography/bibmod.cxx 1 1 extensions/source/bibliography/bibshortcuthandler.hxx 18 9 extensions/source/bibliography/bibview.cxx 23 11 extensions/source/bibliography/bibview.hxx 85 35 extensions/source/bibliography/datman.cxx 3 2 extensions/source/bibliography/datman.hxx 1 0 extensions/source/bibliography/framectr.cxx 55 7 extensions/source/bibliography/general.cxx 57 41 extensions/source/bibliography/general.hxx 1 0 extensions/source/bibliography/toolbar.cxx 2 2 extensions/source/bibliography/toolbar.hxx 39 0 extensions/source/dbpilots/commonpagesdbp.cxx 17 11 extensions/source/dbpilots/commonpagesdbp.hxx 12 0 extensions/source/dbpilots/controlwizard.cxx 7 6 extensions/source/dbpilots/controlwizard.hxx 15 0 extensions/source/dbpilots/gridwizard.cxx 8 6 extensions/source/dbpilots/gridwizard.hxx 48 2 extensions/source/dbpilots/groupboxwiz.cxx 18 10 extensions/source/dbpilots/groupboxwiz.hxx 33 0 extensions/source/dbpilots/listcombowizard.cxx 12 6 extensions/source/dbpilots/listcombowizard.hxx 7 6 extensions/source/plugin/inc/plugin/plctrl.hxx 3 4 extensions/source/propctrlr/browserline.cxx 4 4 extensions/source/propctrlr/browserline.hxx 2 2 extensions/source/propctrlr/browserview.cxx 1 1 extensions/source/propctrlr/browserview.hxx 2 7 extensions/source/propctrlr/commoncontrol.cxx 1 1 extensions/source/propctrlr/commoncontrol.hxx 1 1 extensions/source/propctrlr/controlfontdialog.cxx 25 2 extensions/source/propctrlr/formlinkdialog.cxx 6 5 extensions/source/propctrlr/formlinkdialog.hxx 11 0 extensions/source/propctrlr/listselectiondlg.cxx 3 1 extensions/source/propctrlr/listselectiondlg.hxx 11 0 extensions/source/propctrlr/newdatatype.cxx 4 2 extensions/source/propctrlr/newdatatype.hxx 1 0 extensions/source/propctrlr/propcontroller.cxx 2 2 extensions/source/propctrlr/propcontroller.hxx 1 5 extensions/source/propctrlr/propertyeditor.cxx 1 1 extensions/source/propctrlr/propertyeditor.hxx 3 0 extensions/source/propctrlr/selectlabeldialog.cxx 3 3 extensions/source/propctrlr/selectlabeldialog.hxx 5 11 extensions/source/propctrlr/standardcontrol.cxx 2 2 extensions/source/propctrlr/standardcontrol.hxx 5 0 extensions/source/propctrlr/taborder.cxx 5 5 extensions/source/propctrlr/taborder.hxx 14 0 extensions/source/scanner/grid.cxx 6 5 extensions/source/scanner/grid.hxx 31 1 extensions/source/scanner/sanedlg.cxx 24 24 extensions/source/scanner/sanedlg.hxx 13 0 filter/source/flash/impswfdialog.cxx 9 8 filter/source/flash/impswfdialog.hxx 1 1 filter/source/flash/swfdialog.cxx 122 2 filter/source/pdf/impdialog.cxx 99 93 filter/source/pdf/impdialog.hxx 1 1 filter/source/pdf/pdfdialog.cxx 2 2 filter/source/pdf/pdffilter.cxx 1 1 filter/source/svg/svgdialog.cxx 3 7 filter/source/xsltdialog/xmlfilterdialogcomponent.cxx 29 2 filter/source/xsltdialog/xmlfiltersettingsdialog.cxx 17 13 filter/source/xsltdialog/xmlfiltersettingsdialog.hxx 4 2 filter/source/xsltdialog/xmlfiltertabdialog.cxx 4 4 filter/source/xsltdialog/xmlfiltertabdialog.hxx 12 0 filter/source/xsltdialog/xmlfiltertabpagebasic.cxx 6 5 filter/source/xsltdialog/xmlfiltertabpagebasic.hxx 14 0 filter/source/xsltdialog/xmlfiltertabpagexslt.cxx 9 8 filter/source/xsltdialog/xmlfiltertabpagexslt.hxx 15 1 filter/source/xsltdialog/xmlfiltertestdialog.cxx 15 15 filter/source/xsltdialog/xmlfiltertestdialog.hxx 8 11 forms/source/richtext/richtextimplcontrol.cxx 7 7 forms/source/richtext/richtextimplcontrol.hxx 2 8 forms/source/solar/control/navtoolbar.cxx 2 2 forms/source/solar/inc/navtoolbar.hxx 10 8 formula/source/ui/dlg/ControlHelper.hxx 33 33 formula/source/ui/dlg/formula.cxx 12 0 formula/source/ui/dlg/funcpage.cxx 4 2 formula/source/ui/dlg/funcpage.hxx 39 16 formula/source/ui/dlg/funcutl.cxx 20 0 formula/source/ui/dlg/parawin.cxx 25 25 formula/source/ui/dlg/parawin.hxx 11 0 formula/source/ui/dlg/structpg.cxx 3 1 formula/source/ui/dlg/structpg.hxx 1 1 fpicker/source/office/OfficeControlAccess.hxx 6 8 fpicker/source/office/PlacesListBox.cxx 6 6 fpicker/source/office/PlacesListBox.hxx 5 3 fpicker/source/office/QueryFolderName.hxx 3 2 fpicker/source/office/asyncfilepicker.hxx 3 7 fpicker/source/office/commonpicker.cxx 2 1 fpicker/source/office/commonpicker.hxx 34 9 fpicker/source/office/iodlg.cxx 11 11 fpicker/source/office/iodlg.hxx 3 2 fpicker/source/office/iodlgimp.cxx 25 27 fpicker/source/office/iodlgimp.hxx 2 4 framework/inc/classes/fwktabwindow.hxx 2 1 framework/inc/dispatch/closedispatcher.hxx 1 1 framework/inc/helper/vclstatusindicator.hxx 4 3 framework/inc/uielement/buttontoolbarcontroller.hxx 1 1 framework/inc/uielement/comboboxtoolbarcontroller.hxx 3 2 framework/inc/uielement/complextoolbarcontroller.hxx 2 1 framework/inc/uielement/dropdownboxtoolbarcontroller.hxx 1 1 framework/inc/uielement/edittoolbarcontroller.hxx 6 5 framework/inc/uielement/generictoolbarcontroller.hxx 2 1 framework/inc/uielement/spinfieldtoolbarcontroller.hxx 2 1 framework/inc/uielement/statusbaritem.hxx 6 5 framework/inc/uielement/statusbarmanager.hxx 1 1 framework/inc/uielement/toolbarmanager.hxx 1 1 framework/inc/uielement/toolbarmerger.hxx 1 2 framework/source/helper/vclstatusindicator.cxx 4 4 framework/source/services/tabwindowservice.cxx 1 1 framework/source/uielement/buttontoolbarcontroller.cxx 1 3 framework/source/uielement/comboboxtoolbarcontroller.cxx 1 1 framework/source/uielement/complextoolbarcontroller.cxx 1 3 framework/source/uielement/dropdownboxtoolbarcontroller.cxx 1 3 framework/source/uielement/edittoolbarcontroller.cxx 1 1 framework/source/uielement/generictoolbarcontroller.cxx 1 3 framework/source/uielement/spinfieldtoolbarcontroller.cxx 25 26 framework/source/uielement/statusbarmanager.cxx 4 4 framework/source/uielement/toolbarmanager.cxx 2 1 include/dbaccess/ToolBoxHelper.hxx 4 3 include/dbaccess/genericcontroller.hxx 2 1 include/editeng/splwrap.hxx 4 2 include/formula/funcutl.hxx 6 10 include/sfx2/basedlgs.hxx 5 3 include/sfx2/checkin.hxx 4 4 include/sfx2/childwin.hxx 46 40 include/sfx2/dinfdlg.hxx 2 3 include/sfx2/fcontnr.hxx 2 1 include/sfx2/frame.hxx 8 9 include/sfx2/infobar.hxx 1 1 include/sfx2/ipclient.hxx 12 12 include/sfx2/mgetempl.hxx 2 2 include/sfx2/newstyle.hxx 16 14 include/sfx2/passwd.hxx 22 21 include/sfx2/printopt.hxx 1 1 include/sfx2/prnmon.hxx 2 1 include/sfx2/sidebar/SidebarPanelBase.hxx 3 3 include/sfx2/stbitem.hxx 10 10 include/sfx2/tabdlg.hxx 10 10 include/sfx2/templatedlg.hxx 4 4 include/sfx2/templateinfodlg.hxx 1 1 include/sfx2/thumbnailview.hxx 1 1 include/sfx2/thumbnailviewitem.hxx 2 1 include/sfx2/viewsh.hxx 5 4 include/svtools/GraphicExportOptionsDialog.hxx 7 6 include/svtools/PlaceEditDialog.hxx 13 13 include/svtools/ServerDetailsControls.hxx 2 1 include/svtools/accessibleruler.hxx 4 4 include/svtools/addresstemplate.hxx 8 8 include/svtools/brwbox.hxx 4 1 include/svtools/brwhead.hxx 4 4 include/svtools/calendar.hxx 4 4 include/svtools/colrdlg.hxx 5 5 include/svtools/editbrowsebox.hxx 3 1 include/svtools/fileview.hxx 2 2 include/svtools/generictoolboxcontroller.hxx 2 1 include/svtools/genericunodialog.hxx 7 7 include/svtools/prnsetup.hxx 3 1 include/svtools/simptabl.hxx 2 0 include/svtools/tabbar.hxx 2 2 include/svtools/treelistbox.hxx 6 7 include/svtools/wizardmachine.hxx 5 5 include/svtools/wizdlg.hxx 2 1 include/svx/AccessibleShapeTreeInfo.hxx 25 25 include/svx/bmpmask.hxx 18 16 include/svx/compressgraphicdialog.hxx 4 2 include/svx/contdlg.hxx 29 27 include/svx/ctredlin.hxx 1 1 include/svx/dialcontrol.hxx 5 5 include/svx/fillctrl.hxx 1 1 include/svx/fmshell.hxx 7 3 include/svx/fontworkgallery.hxx 16 16 include/svx/hdft.hxx 9 9 include/svx/imapdlg.hxx 1 1 include/svx/lboxctrl.hxx 1 1 include/svx/linkwarn.hxx 21 19 include/svx/optgrid.hxx 8 6 include/svx/passwd.hxx 24 22 include/svx/rubydialog.hxx 1 1 include/svx/ruler.hxx 2 1 include/svx/sidebar/Popup.hxx 50 50 include/svx/srchdlg.hxx 2 2 include/svx/svdedxv.hxx 2 2 include/svx/svdpntv.hxx 4 3 include/svx/tbxcolorupdate.hxx 3 2 include/tools/errinf.hxx 9 11 include/vcl/builder.hxx 2 2 include/vcl/button.hxx 3 3 include/vcl/combobox.hxx 2 2 include/vcl/controllayout.hxx 2 1 include/vcl/cursor.hxx 1 1 include/vcl/dialog.hxx 7 7 include/vcl/dockwin.hxx 2 1 include/vcl/event.hxx 1 1 include/vcl/field.hxx 1 1 include/vcl/fixed.hxx 2 2 include/vcl/floatwin.hxx 1 1 include/vcl/fltcall.hxx 17 13 include/vcl/layout.hxx 4 4 include/vcl/lstbox.hxx 1 1 include/vcl/menu.hxx 8 8 include/vcl/msgbox.hxx 4 4 include/vcl/opengl/OpenGLContext.hxx 1 1 include/vcl/seleng.hxx 1 1 include/vcl/split.hxx 1 1 include/vcl/syswin.hxx 2 2 include/vcl/tabdlg.hxx 1 1 include/vcl/tabpage.hxx 1 1 include/vcl/taskpanelist.hxx 2 2 include/vcl/toolbox.hxx 4 3 include/vcl/vclevent.hxx 39 1 include/vcl/vclptr.hxx 1 1 include/vcl/waitobj.hxx 2 2 include/vcl/window.hxx 8 1 reportdesign/source/ui/dlg/AddField.cxx 9 0 reportdesign/source/ui/dlg/CondFormat.cxx 14 3 reportdesign/source/ui/dlg/Condition.cxx 16 16 reportdesign/source/ui/dlg/Condition.hxx 13 0 reportdesign/source/ui/dlg/DateTime.cxx 2 0 reportdesign/source/ui/dlg/Formula.cxx 58 17 reportdesign/source/ui/dlg/GroupsSorting.cxx 1 1 reportdesign/source/ui/dlg/Navigator.cxx 12 0 reportdesign/source/ui/dlg/PageNumber.cxx 6 6 reportdesign/source/ui/inc/CondFormat.hxx 8 7 reportdesign/source/ui/inc/DateTime.hxx 4 4 reportdesign/source/ui/inc/DesignView.hxx 3 3 reportdesign/source/ui/inc/Formula.hxx 10 10 reportdesign/source/ui/inc/GroupsSorting.hxx 7 6 reportdesign/source/ui/inc/PageNumber.hxx 1 1 reportdesign/source/ui/inc/ReportController.hxx 1 1 reportdesign/source/ui/inc/ReportSection.hxx 4 4 reportdesign/source/ui/inc/ReportWindow.hxx 1 1 reportdesign/source/ui/inc/ScrollHelper.hxx 2 2 reportdesign/source/ui/inc/SectionView.hxx 1 1 reportdesign/source/ui/inc/SectionWindow.hxx 1 1 reportdesign/source/ui/inc/StartMarker.hxx 6 6 reportdesign/source/ui/inc/ViewsWindow.hxx 1 1 reportdesign/source/ui/inc/dlgedfunc.hxx 1 1 reportdesign/source/ui/inc/propbrw.hxx 9 3 reportdesign/source/ui/report/DesignView.cxx 1 0 reportdesign/source/ui/report/ReportSection.cxx 2 0 reportdesign/source/ui/report/ReportWindow.cxx 1 0 reportdesign/source/ui/report/ScrollHelper.cxx 1 0 reportdesign/source/ui/report/SectionWindow.cxx 1 0 reportdesign/source/ui/report/StartMarker.cxx 1 0 reportdesign/source/ui/report/ViewsWindow.cxx 1 0 reportdesign/source/ui/report/propbrw.cxx 2 1 sc/inc/AccessibleFilterMenu.hxx 2 1 sc/inc/AccessibleFilterMenuItem.hxx 2 2 sc/inc/scmod.hxx 2 1 sc/inc/scopetools.hxx 1 1 sc/inc/waitoff.hxx 12 12 sc/source/ui/Accessibility/AccessibleText.cxx 12 1 sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx 9 1 sc/source/ui/StatisticsDialogs/ExponentialSmoothingDialog.cxx 9 1 sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx 25 3 sc/source/ui/StatisticsDialogs/RandomNumberGeneratorDialog.cxx 22 3 sc/source/ui/StatisticsDialogs/SamplingDialog.cxx 18 1 sc/source/ui/StatisticsDialogs/StatisticsInputOutputDialog.cxx 22 2 sc/source/ui/StatisticsDialogs/StatisticsTwoVariableDialog.cxx 5 0 sc/source/ui/app/inputhdl.cxx 7 7 sc/source/ui/app/scmod.cxx 2 4 sc/source/ui/attrdlg/scdlgfact.hxx 30 0 sc/source/ui/attrdlg/scuiexp.cxx 14 0 sc/source/ui/attrdlg/tabpages.cxx 18 0 sc/source/ui/cctrl/checklistmenu.cxx 23 0 sc/source/ui/condformat/colorformat.cxx 24 0 sc/source/ui/condformat/condformatdlg.cxx 4 1 sc/source/ui/condformat/condformatmgr.cxx 37 3 sc/source/ui/dbgui/PivotLayoutDialog.cxx 10 2 sc/source/ui/dbgui/PivotLayoutTreeListBase.cxx 1 1 sc/source/ui/dbgui/PivotLayoutTreeListLabel.cxx 17 0 sc/source/ui/dbgui/consdlg.cxx 13 0 sc/source/ui/dbgui/dapidata.cxx 23 0 sc/source/ui/dbgui/dapitype.cxx 15 0 sc/source/ui/dbgui/dbnamdlg.cxx 39 0 sc/source/ui/dbgui/dpgroupdlg.cxx 32 0 sc/source/ui/dbgui/filtdlg.cxx 18 0 sc/source/ui/dbgui/pfiltdlg.cxx 78 0 sc/source/ui/dbgui/pvfundlg.cxx 18 0 sc/source/ui/dbgui/scendlg.cxx 22 0 sc/source/ui/dbgui/scuiasciiopt.cxx 12 0 sc/source/ui/dbgui/scuiimoptdlg.cxx 19 0 sc/source/ui/dbgui/sfiltdlg.cxx 13 0 sc/source/ui/dbgui/sortdlg.cxx 11 0 sc/source/ui/dbgui/subtdlg.cxx 12 0 sc/source/ui/dbgui/textimportoptions.cxx 26 4 sc/source/ui/dbgui/tpsort.cxx 18 0 sc/source/ui/dbgui/tpsubt.cxx 59 0 sc/source/ui/dbgui/validate.cxx 1 1 sc/source/ui/dialogs/searchresults.cxx 3 3 sc/source/ui/docshell/tablink.cxx 10 0 sc/source/ui/docshell/tpstat.cxx 0 2 sc/source/ui/drawfunc/fupoor.cxx 1 0 sc/source/ui/formdlg/dwfunctr.cxx 2 1 sc/source/ui/inc/AccessibleCsvControl.hxx 1 1 sc/source/ui/inc/AccessibleEditObject.hxx 2 2 sc/source/ui/inc/AccessibleText.hxx 5 4 sc/source/ui/inc/AnalysisOfVarianceDialog.hxx 2 1 sc/source/ui/inc/ExponentialSmoothingDialog.hxx 2 1 sc/source/ui/inc/MovingAverageDialog.hxx 28 27 sc/source/ui/inc/PivotLayoutDialog.hxx 2 1 sc/source/ui/inc/PivotLayoutTreeListBase.hxx 16 15 sc/source/ui/inc/RandomNumberGeneratorDialog.hxx 15 14 sc/source/ui/inc/SamplingDialog.hxx 11 10 sc/source/ui/inc/StatisticsInputOutputDialog.hxx 14 13 sc/source/ui/inc/StatisticsTwoVariableDialog.hxx 4 4 sc/source/ui/inc/acredlin.hxx 9 9 sc/source/ui/inc/anyrefdg.hxx 12 12 sc/source/ui/inc/areasdlg.hxx 8 5 sc/source/ui/inc/checklistmenu.hxx 15 14 sc/source/ui/inc/colorformat.hxx 11 8 sc/source/ui/inc/condformatdlg.hxx 4 4 sc/source/ui/inc/condformatmgr.hxx 6 5 sc/source/ui/inc/conflictsdlg.hxx 17 17 sc/source/ui/inc/consdlg.hxx 2 1 sc/source/ui/inc/content.hxx 9 2 sc/source/ui/inc/corodlg.hxx 6 4 sc/source/ui/inc/crdlg.hxx 13 12 sc/source/ui/inc/crnrdlg.hxx 5 3 sc/source/ui/inc/dapidata.hxx 12 11 sc/source/ui/inc/dapitype.hxx 10 9 sc/source/ui/inc/datafdlg.hxx 19 17 sc/source/ui/inc/datastreamdlg.hxx 18 18 sc/source/ui/inc/dbnamdlg.hxx 6 4 sc/source/ui/inc/delcldlg.hxx 10 9 sc/source/ui/inc/delcodlg.hxx 28 27 sc/source/ui/inc/dpgroupdlg.hxx 1 1 sc/source/ui/inc/dwfunctr.hxx 21 20 sc/source/ui/inc/filldlg.hxx 60 60 sc/source/ui/inc/filtdlg.hxx 12 12 sc/source/ui/inc/foptmgr.hxx 2 2 sc/source/ui/inc/fupoor.hxx 2 2 sc/source/ui/inc/gridwin.hxx 3 3 sc/source/ui/inc/groupdlg.hxx 8 8 sc/source/ui/inc/highred.hxx 5 4 sc/source/ui/inc/inputhdl.hxx 5 4 sc/source/ui/inc/inscldlg.hxx 26 26 sc/source/ui/inc/inscodlg.hxx 13 13 sc/source/ui/inc/instbdlg.hxx 3 1 sc/source/ui/inc/lbseldlg.hxx 8 7 sc/source/ui/inc/linkarea.hxx 4 2 sc/source/ui/inc/mtrindlg.hxx 8 7 sc/source/ui/inc/mvtabdlg.hxx 6 5 sc/source/ui/inc/namecrea.hxx 13 12 sc/source/ui/inc/namedefdlg.hxx 14 14 sc/source/ui/inc/namedlg.hxx 4 4 sc/source/ui/inc/namepast.hxx 1 1 sc/source/ui/inc/navipi.hxx 4 4 sc/source/ui/inc/notemark.hxx 5 5 sc/source/ui/inc/opredlin.hxx 67 60 sc/source/ui/inc/optsolver.hxx 21 21 sc/source/ui/inc/pfiltdlg.hxx 5 5 sc/source/ui/inc/prevwsh.hxx 8 7 sc/source/ui/inc/protectiondlg.hxx 46 42 sc/source/ui/inc/pvfundlg.hxx 1 1 sc/source/ui/inc/reffact.hxx 14 12 sc/source/ui/inc/retypepassdlg.hxx 10 9 sc/source/ui/inc/scendlg.hxx 22 22 sc/source/ui/inc/scuiasciiopt.hxx 15 13 sc/source/ui/inc/scuiautofmt.hxx 12 12 sc/source/ui/inc/scuiimoptdlg.hxx 22 21 sc/source/ui/inc/scuitphfedit.hxx 1 1 sc/source/ui/inc/searchresults.hxx 3 3 sc/source/ui/inc/sharedocdlg.hxx 4 2 sc/source/ui/inc/shtabdlg.hxx 6 5 sc/source/ui/inc/simpref.hxx 11 7 sc/source/ui/inc/solveroptions.hxx 11 10 sc/source/ui/inc/solvrdlg.hxx 5 3 sc/source/ui/inc/sortdlg.hxx 6 6 sc/source/ui/inc/sortkeydlg.hxx 4 3 sc/source/ui/inc/strindlg.hxx 3 1 sc/source/ui/inc/subtdlg.hxx 8 3 sc/source/ui/inc/tabbgcolordlg.hxx 13 12 sc/source/ui/inc/tabopdlg.hxx 7 4 sc/source/ui/inc/tabpages.hxx 5 5 sc/source/ui/inc/tabview.hxx 6 6 sc/source/ui/inc/textimportoptions.hxx 16 16 sc/source/ui/inc/tpcalc.hxx 3 3 sc/source/ui/inc/tpcompatibility.hxx 3 2 sc/source/ui/inc/tpdefaults.hxx 12 12 sc/source/ui/inc/tpformula.hxx 7 6 sc/source/ui/inc/tphf.hxx 5 5 sc/source/ui/inc/tpprint.hxx 17 17 sc/source/ui/inc/tpsort.hxx 5 5 sc/source/ui/inc/tpstat.hxx 13 13 sc/source/ui/inc/tpsubt.hxx 24 24 sc/source/ui/inc/tptable.hxx 12 12 sc/source/ui/inc/tpusrlst.hxx 44 44 sc/source/ui/inc/tpview.hxx 34 28 sc/source/ui/inc/validate.hxx 11 9 sc/source/ui/inc/xmlsourcedlg.hxx 4 1 sc/source/ui/miscdlgs/acredlin.cxx 8 10 sc/source/ui/miscdlgs/anyrefdg.cxx 11 0 sc/source/ui/miscdlgs/conflictsdlg.cxx 15 0 sc/source/ui/miscdlgs/crdlg.cxx 19 1 sc/source/ui/miscdlgs/crnrdlg.cxx 14 0 sc/source/ui/miscdlgs/datafdlg.cxx 27 0 sc/source/ui/miscdlgs/datastreamdlg.cxx 15 0 sc/source/ui/miscdlgs/delcldlg.cxx 19 4 sc/source/ui/miscdlgs/delcodlg.cxx 26 0 sc/source/ui/miscdlgs/filldlg.cxx 11 3 sc/source/ui/miscdlgs/groupdlg.cxx 7 1 sc/source/ui/miscdlgs/highred.cxx 14 4 sc/source/ui/miscdlgs/inscldlg.cxx 22 0 sc/source/ui/miscdlgs/inscodlg.cxx 13 0 sc/source/ui/miscdlgs/instbdlg.cxx 12 0 sc/source/ui/miscdlgs/lbseldlg.cxx 13 0 sc/source/ui/miscdlgs/linkarea.cxx 12 0 sc/source/ui/miscdlgs/mtrindlg.cxx 13 0 sc/source/ui/miscdlgs/mvtabdlg.cxx 14 0 sc/source/ui/miscdlgs/namecrea.cxx 94 1 sc/source/ui/miscdlgs/optsolver.cxx 13 0 sc/source/ui/miscdlgs/protectiondlg.cxx 24 1 sc/source/ui/miscdlgs/retypepassdlg.cxx 23 0 sc/source/ui/miscdlgs/scuiautofmt.cxx 3 1 sc/source/ui/miscdlgs/sharedocdlg.cxx 12 0 sc/source/ui/miscdlgs/shtabdlg.cxx 11 0 sc/source/ui/miscdlgs/simpref.cxx 27 0 sc/source/ui/miscdlgs/solveroptions.cxx 17 1 sc/source/ui/miscdlgs/solvrdlg.cxx 12 0 sc/source/ui/miscdlgs/strindlg.cxx 23 0 sc/source/ui/miscdlgs/tabbgcolordlg.cxx 19 0 sc/source/ui/miscdlgs/tabopdlg.cxx 21 0 sc/source/ui/namedlg/namedefdlg.cxx 14 1 sc/source/ui/namedlg/namedlg.cxx 4 1 sc/source/ui/namedlg/namepast.cxx 7 0 sc/source/ui/navipi/content.cxx 21 1 sc/source/ui/optdlg/calcoptionsdlg.cxx 17 16 sc/source/ui/optdlg/calcoptionsdlg.hxx 10 0 sc/source/ui/optdlg/opredlin.cxx 16 0 sc/source/ui/optdlg/tpcalc.cxx 7 0 sc/source/ui/optdlg/tpcompatibility.cxx 8 0 sc/source/ui/optdlg/tpdefaults.cxx 17 0 sc/source/ui/optdlg/tpformula.cxx 9 0 sc/source/ui/optdlg/tpprint.cxx 12 0 sc/source/ui/optdlg/tpusrlst.cxx 43 0 sc/source/ui/optdlg/tpview.cxx 12 0 sc/source/ui/pagedlg/areasdlg.cxx 26 0 sc/source/ui/pagedlg/scuitphfedit.cxx 8 0 sc/source/ui/pagedlg/tphf.cxx 27 0 sc/source/ui/pagedlg/tptable.cxx 14 0 sc/source/ui/sidebar/AlignmentPropertyPanel.cxx 11 9 sc/source/ui/sidebar/AlignmentPropertyPanel.hxx 10 0 sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx 7 5 sc/source/ui/sidebar/CellAppearancePropertyPanel.hxx 12 0 sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx 8 7 sc/source/ui/sidebar/NumberFormatPropertyPanel.hxx 4 4 sc/source/ui/vba/vbaeventshelper.cxx 14 13 sc/source/ui/view/gridwin.cxx 1 1 sc/source/ui/view/gridwin2.cxx 4 4 sc/source/ui/view/prevwsh.cxx 15 15 sc/source/ui/view/reffact.cxx 1 1 sc/source/ui/view/tabview.cxx 3 4 sc/source/ui/view/tabview5.cxx 20 1 sc/source/ui/xmlsource/xmlsourcedlg.cxx 1 1 sd/inc/Outliner.hxx 105 3 sd/source/filter/html/pubdlg.cxx 8 8 sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 19 5 sd/source/ui/animations/CustomAnimationCreateDialog.cxx 2 2 sd/source/ui/animations/CustomAnimationCreateDialog.hxx 120 58 sd/source/ui/animations/CustomAnimationDialog.cxx 4 4 sd/source/ui/animations/CustomAnimationDialog.hxx 1 1 sd/source/ui/animations/CustomAnimationList.cxx 20 3 sd/source/ui/animations/CustomAnimationPane.cxx 17 17 sd/source/ui/animations/CustomAnimationPane.hxx 14 1 sd/source/ui/animations/SlideTransitionPane.cxx 13 13 sd/source/ui/animations/SlideTransitionPane.hxx 1 1 sd/source/ui/annotations/annotationtag.hxx 10 3 sd/source/ui/annotations/annotationwindow.cxx 5 4 sd/source/ui/annotations/annotationwindow.hxx 11 2 sd/source/ui/controller/slidelayoutcontroller.cxx 2 2 sd/source/ui/dlg/PaneChildWindows.cxx 17 0 sd/source/ui/dlg/PhotoAlbumDialog.cxx 13 11 sd/source/ui/dlg/PhotoAlbumDialog.hxx 13 0 sd/source/ui/dlg/RemoteDialog.cxx 5 3 sd/source/ui/dlg/RemoteDialog.hxx 1 1 sd/source/ui/dlg/RemoteDialogClientBox.hxx 20 2 sd/source/ui/dlg/animobjs.cxx 4 2 sd/source/ui/dlg/brkdlg.cxx 11 25 sd/source/ui/dlg/copydlg.cxx 29 0 sd/source/ui/dlg/custsdlg.cxx 61 61 sd/source/ui/dlg/dlgass.cxx 15 0 sd/source/ui/dlg/dlgfield.cxx 19 0 sd/source/ui/dlg/dlgsnap.cxx 47 19 sd/source/ui/dlg/headerfooterdlg.cxx 12 0 sd/source/ui/dlg/ins_paste.cxx 9 0 sd/source/ui/dlg/inspagob.cxx 16 0 sd/source/ui/dlg/layeroptionsdlg.cxx 15 0 sd/source/ui/dlg/masterlayoutdlg.cxx 9 0 sd/source/ui/dlg/morphdlg.cxx 13 3 sd/source/ui/dlg/paragr.cxx 33 0 sd/source/ui/dlg/present.cxx 26 1 sd/source/ui/dlg/prntopts.cxx 7 7 sd/source/ui/dlg/sddlgfact.cxx 1 2 sd/source/ui/dlg/sddlgfact.hxx 10 0 sd/source/ui/dlg/sdpreslt.cxx 3 1 sd/source/ui/dlg/sdtreelb.cxx 15 0 sd/source/ui/dlg/sduiexp.cxx 19 0 sd/source/ui/dlg/tpaction.cxx 42 0 sd/source/ui/dlg/tpoption.cxx 16 0 sd/source/ui/dlg/vectdlg.cxx 1 1 sd/source/ui/framework/factories/ChildWindowPane.cxx 4 8 sd/source/ui/framework/factories/FullScreenPane.cxx 1 1 sd/source/ui/framework/factories/Pane.cxx 5 3 sd/source/ui/func/fupoor.cxx 1 1 sd/source/ui/inc/AccessibleDocumentViewBase.hxx 2 1 sd/source/ui/inc/AccessibleSlideSorterView.hxx 4 4 sd/source/ui/inc/BreakDlg.hxx 2 1 sd/source/ui/inc/FormShellManager.hxx 1 1 sd/source/ui/inc/Ruler.hxx 2 2 sd/source/ui/inc/ViewShell.hxx 1 1 sd/source/ui/inc/Window.hxx 2 1 sd/source/ui/inc/WindowUpdater.hxx 23 23 sd/source/ui/inc/animobjs.hxx 11 11 sd/source/ui/inc/copydlg.hxx 21 20 sd/source/ui/inc/custsdlg.hxx 6 5 sd/source/ui/inc/dlgfield.hxx 11 9 sd/source/ui/inc/dlgsnap.hxx 2 1 sd/source/ui/inc/framework/Pane.hxx 3 3 sd/source/ui/inc/fupoor.hxx 6 6 sd/source/ui/inc/headerfooterdlg.hxx 4 2 sd/source/ui/inc/ins_paste.hxx 4 3 sd/source/ui/inc/inspagob.hxx 9 6 sd/source/ui/inc/layeroptionsdlg.hxx 7 5 sd/source/ui/inc/masterlayoutdlg.hxx 5 4 sd/source/ui/inc/morphdlg.hxx 2 2 sd/source/ui/inc/navigatr.hxx 25 23 sd/source/ui/inc/present.hxx 20 19 sd/source/ui/inc/prntopts.hxx 85 84 sd/source/ui/inc/pubdlg.hxx 6 5 sd/source/ui/inc/sdpreslt.hxx 2 2 sd/source/ui/inc/sdtreelb.hxx 1 1 sd/source/ui/inc/taskpane/SlideSorterCacheDisplay.hxx 16 15 sd/source/ui/inc/tpaction.hxx 32 30 sd/source/ui/inc/tpoption.hxx 11 10 sd/source/ui/inc/vectdlg.hxx 1 1 sd/source/ui/slideshow/slideshow.cxx 6 8 sd/source/ui/slideshow/slideshowimpl.cxx 6 6 sd/source/ui/slideshow/slideshowimpl.hxx 2 2 sd/source/ui/table/TableDesignPane.hxx 2 2 sd/source/ui/view/FormShellManager.cxx 1 0 sd/source/ui/view/sdruler.cxx 1 1 sd/source/ui/view/sdview2.cxx 1 0 sd/source/ui/view/sdwindow.cxx 1 1 sd/source/ui/view/viewshe2.cxx 1 1 sd/source/ui/view/viewshel.cxx 6 6 sfx2/inc/srchdlg.hxx 8 10 sfx2/source/appl/childwin.cxx 1 1 sfx2/source/appl/fileobj.hxx 2 1 sfx2/source/appl/helpinterceptor.hxx 20 4 sfx2/source/appl/impldde.cxx 2 2 sfx2/source/appl/lnkbase2.cxx 65 14 sfx2/source/appl/newhelp.cxx 33 25 sfx2/source/appl/newhelp.hxx 8 8 sfx2/source/appl/workwin.cxx 1 1 sfx2/source/control/thumbnailview.cxx 1 1 sfx2/source/control/thumbnailviewacc.cxx 3 2 sfx2/source/control/thumbnailviewacc.hxx 2 3 sfx2/source/control/thumbnailviewitem.cxx 2 0 sfx2/source/dialog/alienwarn.cxx 23 4 sfx2/source/dialog/backingwindow.cxx 29 29 sfx2/source/dialog/backingwindow.hxx 10 3 sfx2/source/dialog/basedlgs.cxx 13 0 sfx2/source/dialog/checkin.cxx 88 14 sfx2/source/dialog/dinfdlg.cxx 4 6 sfx2/source/dialog/dockwin.cxx 11 0 sfx2/source/dialog/documentfontsdialog.cxx 1 1 sfx2/source/dialog/filedlgimpl.hxx 8 23 sfx2/source/dialog/infobar.cxx 14 0 sfx2/source/dialog/inputdlg.cxx 12 0 sfx2/source/dialog/mgetempl.cxx 1 1 sfx2/source/dialog/navigat.cxx 2 0 sfx2/source/dialog/newstyle.cxx 4 4 sfx2/source/dialog/partwnd.cxx 22 0 sfx2/source/dialog/passwd.cxx 30 0 sfx2/source/dialog/printopt.cxx 2 1 sfx2/source/dialog/recfloat.cxx 4 4 sfx2/source/dialog/securitypage.cxx 11 8 sfx2/source/dialog/splitwin.cxx 6 0 sfx2/source/dialog/srchdlg.cxx 22 22 sfx2/source/dialog/tabdlg.cxx 5 1 sfx2/source/dialog/templateinfodlg.cxx 4 5 sfx2/source/dialog/templdlg.cxx 29 2 sfx2/source/dialog/versdlg.cxx 11 11 sfx2/source/doc/new.cxx 12 2 sfx2/source/doc/templatedlg.cxx 2 2 sfx2/source/inc/alienwarn.hxx 3 1 sfx2/source/inc/documentfontsdialog.hxx 6 4 sfx2/source/inc/inputdlg.hxx 1 1 sfx2/source/inc/recfloat.hxx 5 5 sfx2/source/inc/splitwin.hxx 5 5 sfx2/source/inc/templdgi.hxx 21 19 sfx2/source/inc/versdlg.hxx 6 6 sfx2/source/inc/workwin.hxx 12 12 sfx2/source/sidebar/FocusManager.cxx 5 5 sfx2/source/sidebar/FocusManager.hxx 15 4 sfx2/source/sidebar/PanelTitleBar.cxx 3 1 sfx2/source/sidebar/PanelTitleBar.hxx 1 1 sfx2/source/sidebar/SidebarChildWindow.cxx 9 9 sfx2/source/sidebar/SidebarController.cxx 2 2 sfx2/source/sidebar/SidebarController.hxx 6 10 sfx2/source/sidebar/SidebarPanelBase.cxx 1 1 sfx2/source/statbar/stbitem.cxx 1 1 sfx2/source/toolbox/imgmgr.cxx 11 15 sfx2/source/toolbox/tbxitem.cxx 1 1 sfx2/source/view/frame.cxx 1 1 sfx2/source/view/frame2.cxx 7 7 sfx2/source/view/impframe.hxx 2 2 sfx2/source/view/impviewframe.hxx 1 1 sfx2/source/view/printer.cxx 1 1 sfx2/source/view/sfxbasecontroller.cxx 2 2 sfx2/source/view/viewfrm.cxx 2 2 sfx2/source/view/viewprn.cxx 2 2 starmath/inc/ElementsDockingWindow.hxx 85 71 starmath/inc/dialog.hxx 3 3 starmath/inc/edit.hxx 3 3 starmath/inc/toolbox.hxx 1 1 starmath/inc/view.hxx 2 1 starmath/source/ElementsDockingWindow.cxx 2 2 starmath/source/accessibility.hxx 141 0 starmath/source/dialog.cxx 4 6 starmath/source/edit.cxx 4 4 starmath/source/toolbox.cxx 1 1 starmath/source/view.cxx 1 1 svtools/inc/vclxaccessibleheaderbar.hxx 2 1 svtools/inc/vclxaccessibleheaderbaritem.hxx 14 14 svtools/source/brwbox/brwbox1.cxx 16 16 svtools/source/brwbox/brwbox2.cxx 12 0 svtools/source/brwbox/brwhead.cxx 12 0 svtools/source/brwbox/datwin.cxx 6 4 svtools/source/brwbox/datwin.hxx 1 1 svtools/source/brwbox/ebbcontrols.cxx 4 2 svtools/source/brwbox/editbrowsebox.cxx 15 4 svtools/source/contnr/fileview.cxx 2 2 svtools/source/contnr/imivctl.hxx 2 2 svtools/source/contnr/imivctl1.cxx 11 0 svtools/source/contnr/simptabl.cxx 1 1 svtools/source/contnr/svtabbx.cxx 1 1 svtools/source/contnr/treelistbox.cxx 15 27 svtools/source/control/calendar.cxx 4 4 svtools/source/control/inettbc.cxx 2 2 svtools/source/control/roadmap.cxx 21 15 svtools/source/control/tabbar.cxx 6 6 svtools/source/control/toolbarmenu.cxx 1 1 svtools/source/control/toolbarmenuimp.hxx 1 1 svtools/source/control/valueacc.cxx 2 2 svtools/source/control/valueimp.hxx 16 0 svtools/source/dialogs/PlaceEditDialog.cxx 4 0 svtools/source/dialogs/addresstemplate.cxx 1 0 svtools/source/dialogs/colrdlg.cxx 8 0 svtools/source/dialogs/prnsetup.cxx 11 4 svtools/source/dialogs/restartdialog.cxx 1 6 svtools/source/dialogs/roadmapwizard.cxx 5 5 svtools/source/dialogs/wizardmachine.cxx 6 2 svtools/source/dialogs/wizdlg.cxx 13 0 svtools/source/filter/GraphicExportOptionsDialog.cxx 33 0 svtools/source/filter/exportdialog.cxx 33 33 svtools/source/filter/exportdialog.hxx 1 1 svtools/source/hatchwindow/hatchwindow.cxx 1 1 svtools/source/inc/hatchwindow.hxx 2 2 svtools/source/inc/svimpbox.hxx 2 2 svtools/source/misc/dialogcontrolling.cxx 8 12 svtools/source/table/tablecontrol_impl.cxx 3 3 svtools/source/table/tablecontrol_impl.hxx 2 2 svtools/source/toolpanel/paneltabbarpeer.cxx 1 1 svtools/source/toolpanel/paneltabbarpeer.hxx 2 2 svtools/source/toolpanel/toolpaneldeckpeer.cxx 1 1 svtools/source/toolpanel/toolpaneldeckpeer.hxx 1 1 svtools/source/uno/addrtempuno.cxx 2 4 svtools/source/uno/generictoolboxcontroller.cxx 1 2 svtools/source/uno/genericunodialog.cxx 3 3 svtools/source/uno/popupwindowcontroller.cxx 1 1 svtools/source/uno/treecontrolpeer.hxx 10 10 svtools/source/uno/wizard/unowizard.cxx 1 1 svtools/source/uno/wizard/wizardshell.hxx 3 1 svx/inc/extrusiondepthdialog.hxx 3 3 svx/inc/galbrws2.hxx 1 1 svx/inc/svdibrow.hxx 2 2 svx/inc/tbunosearchcontrollers.hxx 1 0 svx/source/accessibility/AccessibleShapeTreeInfo.cxx 3 3 svx/source/accessibility/GraphCtlAccessibleContext.cxx 25 8 svx/source/dialog/_bmpmask.cxx 20 1 svx/source/dialog/_contdlg.cxx 25 0 svx/source/dialog/compressgraphicdialog.cxx 4 4 svx/source/dialog/contimp.hxx 42 10 svx/source/dialog/ctredlin.cxx 45 2 svx/source/dialog/docrecovery.cxx 6 326 svx/source/dialog/fontwork.cxx 16 0 svx/source/dialog/hdft.cxx 10 2 svx/source/dialog/imapdlg.cxx 1 0 svx/source/dialog/linkwarn.cxx 27 0 svx/source/dialog/optgrid.cxx 1 1 svx/source/dialog/orienthelper.cxx 15 0 svx/source/dialog/passwd.cxx 33 0 svx/source/dialog/rubydialog.cxx 43 1 svx/source/dialog/srchdlg.cxx 1 0 svx/source/dialog/svxruler.cxx 159 162 svx/source/fmcomp/gridcell.cxx 3 3 svx/source/fmcomp/gridctrl.cxx 109 12 svx/source/form/datanavi.cxx 2 2 svx/source/form/filtnav.cxx 1 2 svx/source/form/fmPropBrw.cxx 2 2 svx/source/form/fmexpl.cxx 13 2 svx/source/form/tabwin.cxx 1 1 svx/source/form/xfm_addcondition.cxx 1 2 svx/source/gallery2/galbrws1.cxx 1 1 svx/source/gallery2/galbrws1.hxx 8 8 svx/source/gallery2/galbrws2.cxx 2 1 svx/source/inc/AccessibleFrameSelector.hxx 1 1 svx/source/inc/GraphCtlAccessibleContext.hxx 1 1 svx/source/inc/charmapacc.hxx 2 1 svx/source/inc/datalistener.hxx 72 62 svx/source/inc/datanavi.hxx 22 16 svx/source/inc/docrecovery.hxx 1 1 svx/source/inc/filtnav.hxx 1 1 svx/source/inc/fmexch.hxx 1 1 svx/source/inc/fmexpl.hxx 2 1 svx/source/inc/fmvwimp.hxx 6 6 svx/source/inc/gridcell.hxx 2 1 svx/source/inc/svxrectctaccessiblecontext.hxx 4 2 svx/source/inc/tabwin.hxx 1 1 svx/source/inc/tbxform.hxx 17 0 svx/source/sidebar/area/AreaPropertyPanel.cxx 12 8 svx/source/sidebar/area/AreaPropertyPanel.hxx 17 0 svx/source/sidebar/graphic/GraphicPropertyPanel.cxx 11 8 svx/source/sidebar/graphic/GraphicPropertyPanel.hxx 4 2 svx/source/sidebar/insert/InsertPropertyPanel.cxx 2 2 svx/source/sidebar/insert/InsertPropertyPanel.hxx 23 0 svx/source/sidebar/line/LinePropertyPanel.cxx 16 13 svx/source/sidebar/line/LinePropertyPanel.hxx 24 5 svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx 11 9 svx/source/sidebar/paragraph/ParaLineSpacingControl.hxx 20 0 svx/source/sidebar/paragraph/ParaPropertyPanel.cxx 13 10 svx/source/sidebar/paragraph/ParaPropertyPanel.hxx 23 0 svx/source/sidebar/possize/PosSizePropertyPanel.cxx 17 14 svx/source/sidebar/possize/PosSizePropertyPanel.hxx 15 0 svx/source/sidebar/text/TextPropertyPanel.cxx 8 5 svx/source/sidebar/text/TextPropertyPanel.hxx 3 3 svx/source/sidebar/tools/Popup.cxx 5 7 svx/source/svdraw/sdrpaintwindow.cxx 11 11 svx/source/svdraw/svdedxv.cxx 8 9 svx/source/svdraw/svdibrow.cxx 1 1 svx/source/svdraw/svdmrkv.cxx 8 12 svx/source/svdraw/svdpntv.cxx 2 2 svx/source/svdraw/svdview.cxx 14 1 svx/source/tbxctrls/bulletsnumbering.cxx 8 6 svx/source/tbxctrls/colorwindow.hxx 33 0 svx/source/tbxctrls/extrusioncontrols.cxx 6 2 svx/source/tbxctrls/extrusioncontrols.hxx 2 2 svx/source/tbxctrls/fillctrl.cxx 22 0 svx/source/tbxctrls/fontworkgallery.cxx 17 6 svx/source/tbxctrls/lboxctrl.cxx 16 0 svx/source/tbxctrls/tbcontrl.cxx 2 3 svx/source/tbxctrls/tbunocontroller.cxx 2 4 svx/source/tbxctrls/tbunosearchcontrollers.cxx 29 2 svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx 21 19 svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.hxx 1 2 svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.cxx 2 1 svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog.hxx 6 1 svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx 6 6 svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.hxx 1 1 svx/source/unodraw/recoveryui.cxx 1 1 svx/source/unodraw/unoshtxt.cxx 3 2 sw/inc/PostItMgr.hxx 5 5 sw/inc/SidebarWin.hxx 4 2 sw/inc/colwd.hxx 1 1 sw/inc/hhcwrp.hxx 1 1 sw/inc/postithelper.hxx 1 1 sw/inc/viewsh.hxx 22 9 sw/qa/tiledrendering/tiledrendering.cxx 1 1 sw/source/core/access/accdoc.hxx 1 1 sw/source/core/access/accfrmobj.cxx 2 1 sw/source/core/access/accfrmobj.hxx 1 1 sw/source/core/view/viewsh.cxx 17 4 sw/source/ui/chrdlg/break.cxx 10 0 sw/source/ui/chrdlg/chardlg.cxx 21 1 sw/source/ui/chrdlg/drpcps.cxx 20 0 sw/source/ui/chrdlg/numpara.cxx 10 0 sw/source/ui/chrdlg/swuiccoll.cxx 93 34 sw/source/ui/config/mailconfigpage.cxx 4 0 sw/source/ui/config/optcomp.cxx 42 0 sw/source/ui/config/optload.cxx 165 0 sw/source/ui/config/optpage.cxx 9 1 sw/source/ui/dbui/addresslistdialog.cxx 9 9 sw/source/ui/dbui/addresslistdialog.hxx 39 23 sw/source/ui/dbui/createaddresslistdialog.cxx 20 18 sw/source/ui/dbui/createaddresslistdialog.hxx 28 5 sw/source/ui/dbui/customizeaddresslistdialog.cxx 12 8 sw/source/ui/dbui/customizeaddresslistdialog.hxx 29 4 sw/source/ui/dbui/dbinsdlg.cxx 2 0 sw/source/ui/dbui/dbtablepreviewdialog.cxx 2 2 sw/source/ui/dbui/dbtablepreviewdialog.hxx 111 33 sw/source/ui/dbui/mmaddressblockpage.cxx 53 46 sw/source/ui/dbui/mmaddressblockpage.hxx 15 0 sw/source/ui/dbui/mmdocselectpage.cxx 10 9 sw/source/ui/dbui/mmdocselectpage.hxx 21 0 sw/source/ui/dbui/mmgreetingspage.cxx 27 25 sw/source/ui/dbui/mmgreetingspage.hxx 11 0 sw/source/ui/dbui/mmlayoutpage.cxx 11 11 sw/source/ui/dbui/mmlayoutpage.hxx 19 0 sw/source/ui/dbui/mmmergepage.cxx 10 8 sw/source/ui/dbui/mmmergepage.hxx 41 3 sw/source/ui/dbui/mmoutputpage.cxx 42 42 sw/source/ui/dbui/mmoutputpage.hxx 33 3 sw/source/ui/dbui/mmoutputtypepage.cxx 7 5 sw/source/ui/dbui/mmoutputtypepage.hxx 18 0 sw/source/ui/dbui/mmpreparemergepage.cxx 10 8 sw/source/ui/dbui/mmpreparemergepage.hxx 2 1 sw/source/ui/dbui/selectdbtabledialog.cxx 2 2 sw/source/ui/dbui/selectdbtabledialog.hxx 12 0 sw/source/ui/dialog/abstract.cxx 15 0 sw/source/ui/dialog/ascfldlg.cxx 18 1 sw/source/ui/dialog/docstdlg.cxx 0 1 sw/source/ui/dialog/swdlgfact.cxx 2 3 sw/source/ui/dialog/swdlgfact.hxx 15 0 sw/source/ui/dialog/swmessdialog.cxx 25 0 sw/source/ui/dialog/swuiexp.cxx 74 0 sw/source/ui/dialog/uiregionsw.cxx 13 0 sw/source/ui/dialog/wordcountdialog.cxx 11 0 sw/source/ui/dochdl/selglos.cxx 21 0 sw/source/ui/envelp/envfmt.cxx 12 10 sw/source/ui/envelp/envfmt.hxx 14 0 sw/source/ui/envelp/envlop1.cxx 17 0 sw/source/ui/envelp/envprt.cxx 9 7 sw/source/ui/envelp/envprt.hxx 80 0 sw/source/ui/envelp/label1.cxx 35 0 sw/source/ui/envelp/labfmt.cxx 22 19 sw/source/ui/envelp/labfmt.hxx 9 0 sw/source/ui/envelp/labprt.cxx 11 11 sw/source/ui/envelp/labprt.hxx 54 0 sw/source/ui/envelp/mailmrge.cxx 58 52 sw/source/ui/envelp/swuilabimp.hxx 14 0 sw/source/ui/fldui/DropDownFieldDialog.cxx 5 0 sw/source/ui/fldui/changedb.cxx 18 0 sw/source/ui/fldui/flddb.cxx 13 12 sw/source/ui/fldui/flddb.hxx 12 0 sw/source/ui/fldui/flddinf.cxx 7 6 sw/source/ui/fldui/flddinf.hxx 21 0 sw/source/ui/fldui/flddok.cxx 15 14 sw/source/ui/fldui/flddok.hxx 3 0 sw/source/ui/fldui/fldedt.cxx 31 0 sw/source/ui/fldui/fldfunc.cxx 26 25 sw/source/ui/fldui/fldfunc.hxx 15 0 sw/source/ui/fldui/fldref.cxx 10 9 sw/source/ui/fldui/fldref.hxx 22 0 sw/source/ui/fldui/fldvar.cxx 17 16 sw/source/ui/fldui/fldvar.hxx 14 0 sw/source/ui/fldui/inpdlg.cxx 10 0 sw/source/ui/fldui/javaedit.cxx 25 1 sw/source/ui/frmdlg/column.cxx 32 5 sw/source/ui/frmdlg/cption.cxx 91 4 sw/source/ui/frmdlg/frmpage.cxx 20 0 sw/source/ui/frmdlg/wrap.cxx 148 26 sw/source/ui/index/cnttab.cxx 12 1 sw/source/ui/index/multmrk.cxx 19 11 sw/source/ui/index/swuiidxmrk.cxx 9 0 sw/source/ui/misc/bookmark.cxx 27 4 sw/source/ui/misc/docfnote.cxx 12 0 sw/source/ui/misc/glosbib.cxx 35 6 sw/source/ui/misc/glossary.cxx 18 17 sw/source/ui/misc/impfnote.hxx 10 0 sw/source/ui/misc/insfnote.cxx 22 0 sw/source/ui/misc/linenum.cxx 26 2 sw/source/ui/misc/num.cxx 36 3 sw/source/ui/misc/outline.cxx 17 0 sw/source/ui/misc/pgfnote.cxx 28 1 sw/source/ui/misc/pggrid.cxx 28 2 sw/source/ui/misc/srtdlg.cxx 12 0 sw/source/ui/misc/titlepage.cxx 12 0 sw/source/ui/table/colwd.cxx 14 0 sw/source/ui/table/convert.cxx 11 0 sw/source/ui/table/instable.cxx 12 0 sw/source/ui/table/mergetbl.cxx 12 0 sw/source/ui/table/rowht.cxx 14 0 sw/source/ui/table/splittbl.cxx 67 5 sw/source/ui/table/tabledlg.cxx 22 1 sw/source/ui/table/tautofmt.cxx 12 0 sw/source/ui/utlui/swrenamexnameddlg.cxx 33 0 sw/source/uibase/dbui/dbui.cxx 12 1 sw/source/uibase/dbui/mailmergechildwindow.cxx 1 1 sw/source/uibase/docvw/HeaderFooterWin.cxx 4 3 sw/source/uibase/docvw/PageBreakWin.cxx 3 8 sw/source/uibase/docvw/PostItMgr.cxx 6 11 sw/source/uibase/docvw/SidebarWin.cxx 3 4 sw/source/uibase/docvw/srcedtw.cxx 12 1 sw/source/uibase/envelp/syncbtn.cxx 6 4 sw/source/uibase/inc/DropDownFieldDialog.hxx 1 1 sw/source/uibase/inc/FrameControl.hxx 1 1 sw/source/uibase/inc/FrameControlsManager.hxx 2 2 sw/source/uibase/inc/HeaderFooterWin.hxx 1 1 sw/source/uibase/inc/PageBreakWin.hxx 4 4 sw/source/uibase/inc/abstract.hxx 9 8 sw/source/uibase/inc/ascfldlg.hxx 4 3 sw/source/uibase/inc/bookmark.hxx 8 7 sw/source/uibase/inc/break.hxx 5 5 sw/source/uibase/inc/changedb.hxx 11 11 sw/source/uibase/inc/chrdlg.hxx 28 28 sw/source/uibase/inc/column.hxx 3 3 sw/source/uibase/inc/conttree.hxx 14 14 sw/source/uibase/inc/convert.hxx 15 15 sw/source/uibase/inc/cption.hxx 25 25 sw/source/uibase/inc/dbinsdlg.hxx 13 7 sw/source/uibase/inc/dbui.hxx 12 11 sw/source/uibase/inc/docstdlg.hxx 1 1 sw/source/uibase/inc/drawbase.hxx 17 16 sw/source/uibase/inc/drpcps.hxx 10 9 sw/source/uibase/inc/envlop.hxx 3 3 sw/source/uibase/inc/fldedt.hxx 2 1 sw/source/uibase/inc/fldmgr.hxx 83 80 sw/source/uibase/inc/frmpage.hxx 7 6 sw/source/uibase/inc/glosbib.hxx 12 12 sw/source/uibase/inc/glossary.hxx 6 4 sw/source/uibase/inc/inpdlg.hxx 2 2 sw/source/uibase/inc/inputwin.hxx 10 10 sw/source/uibase/inc/insfnote.hxx 11 11 sw/source/uibase/inc/instable.hxx 10 10 sw/source/uibase/inc/javaedit.hxx 1 1 sw/source/uibase/inc/label.hxx 16 15 sw/source/uibase/inc/linenum.hxx 10 10 sw/source/uibase/inc/mailconfigpage.hxx 3 1 sw/source/uibase/inc/mailmergechildwindow.hxx 1 1 sw/source/uibase/inc/mailmergehelper.hxx 47 42 sw/source/uibase/inc/mailmrge.hxx 3 1 sw/source/uibase/inc/mergetbl.hxx 3 2 sw/source/uibase/inc/multmrk.hxx 2 2 sw/source/uibase/inc/navipi.hxx 24 24 sw/source/uibase/inc/num.hxx 15 14 sw/source/uibase/inc/numpara.hxx 4 4 sw/source/uibase/inc/optcomp.hxx 38 36 sw/source/uibase/inc/optload.hxx 138 130 sw/source/uibase/inc/optpage.hxx 12 11 sw/source/uibase/inc/outline.hxx 13 12 sw/source/uibase/inc/pgfnote.hxx 24 22 sw/source/uibase/inc/pggrid.hxx 1 1 sw/source/uibase/inc/prcntfld.hxx 6 6 sw/source/uibase/inc/pview.hxx 3 3 sw/source/uibase/inc/redlndlg.hxx 65 63 sw/source/uibase/inc/regionsw.hxx 4 2 sw/source/uibase/inc/rowht.hxx 4 1 sw/source/uibase/inc/selglos.hxx 1 1 sw/source/uibase/inc/shdwcrsr.hxx 6 4 sw/source/uibase/inc/splittbl.hxx 3 3 sw/source/uibase/inc/srcedtw.hxx 32 32 sw/source/uibase/inc/srtdlg.hxx 7 5 sw/source/uibase/inc/swmessdialog.hxx 4 2 sw/source/uibase/inc/swrenamexnameddlg.hxx 2 1 sw/source/uibase/inc/swruler.hxx 9 9 sw/source/uibase/inc/swuiccoll.hxx 109 105 sw/source/uibase/inc/swuicnttab.hxx 45 45 sw/source/uibase/inc/swuiidxmrk.hxx 3 1 sw/source/uibase/inc/syncbtn.hxx 13 13 sw/source/uibase/inc/tautofmt.hxx 12 12 sw/source/uibase/inc/titlepage.hxx 10 10 sw/source/uibase/inc/view.hxx 13 13 sw/source/uibase/inc/wordcountdialog.hxx 2 2 sw/source/uibase/inc/workctrl.hxx 15 14 sw/source/uibase/inc/wrap.hxx 1 1 sw/source/uibase/misc/redlndlg.cxx 7 0 sw/source/uibase/misc/swruler.cxx 1 1 sw/source/uibase/ribbar/inputwin.cxx 2 1 sw/source/uibase/ribbar/workctrl.cxx 1 0 sw/source/uibase/shells/txtattr.cxx 1 0 sw/source/uibase/shells/txtcrsr.cxx 1 1 sw/source/uibase/sidebar/PageColumnControl.cxx 1 1 sw/source/uibase/sidebar/PageColumnControl.hxx 1 1 sw/source/uibase/sidebar/PageMarginControl.cxx 1 1 sw/source/uibase/sidebar/PageMarginControl.hxx 1 1 sw/source/uibase/sidebar/PageOrientationControl.cxx 1 1 sw/source/uibase/sidebar/PageOrientationControl.hxx 4 0 sw/source/uibase/sidebar/PagePropertyPanel.cxx 4 4 sw/source/uibase/sidebar/PagePropertyPanel.hxx 1 1 sw/source/uibase/sidebar/PageSizeControl.cxx 1 1 sw/source/uibase/sidebar/PageSizeControl.hxx 12 0 sw/source/uibase/sidebar/WrapPropertyPanel.cxx 8 7 sw/source/uibase/sidebar/WrapPropertyPanel.hxx 45 42 sw/source/uibase/table/tablepg.hxx 23 14 sw/source/uibase/uiview/pview.cxx 7 7 sw/source/uibase/uiview/view.cxx 1 5 sw/source/uibase/uiview/viewling.cxx 8 8 sw/source/uibase/uiview/viewmdi.cxx 1 0 sw/source/uibase/utlui/content.cxx 1 0 sw/source/uibase/utlui/glbltree.cxx 19 4 sw/source/uibase/utlui/gloslst.cxx 2 3 sw/source/uibase/utlui/navipi.cxx 1 0 tools/source/ref/errinf.cxx 15 0 uui/source/authfallbackdlg.cxx 7 5 uui/source/authfallbackdlg.hxx 12 0 uui/source/fltdlg.cxx 4 2 uui/source/fltdlg.hxx 25 0 uui/source/logindlg.cxx 17 15 uui/source/logindlg.hxx 13 0 uui/source/masterpasscrtdlg.cxx 5 3 uui/source/masterpasscrtdlg.hxx 12 0 uui/source/masterpassworddlg.cxx 4 2 uui/source/masterpassworddlg.hxx 15 0 uui/source/nameclashdlg.cxx 7 5 uui/source/nameclashdlg.hxx 15 0 uui/source/passworddlg.cxx 7 5 uui/source/passworddlg.hxx 15 0 uui/source/secmacrowarnings.cxx 10 9 uui/source/secmacrowarnings.hxx 14 0 uui/source/unknownauthdlg.cxx 6 4 uui/source/unknownauthdlg.hxx 12 4 vcl/generic/print/genprnpsp.cxx 40 2 vcl/generic/print/prtsetup.cxx 24 20 vcl/generic/print/prtsetup.hxx 3 3 vcl/inc/brdwin.hxx 2 2 vcl/inc/dndevdis.hxx 7 6 vcl/inc/ilstbox.hxx 55 54 vcl/inc/printdlg.hxx 5 4 vcl/inc/salframe.hxx 18 23 vcl/inc/svdata.hxx 1 1 vcl/inc/toolbox.h 2 1 vcl/inc/unx/i18n_status.hxx 29 29 vcl/inc/window.h 9 0 vcl/source/app/salvtables.cxx 19 11 vcl/source/app/svapp.cxx 2 0 vcl/source/app/svdata.cxx 9 0 vcl/source/app/vclevent.cxx 14 14 vcl/source/control/button.cxx 3 5 vcl/source/control/combobox.cxx 4 0 vcl/source/control/ctrl.cxx 1 0 vcl/source/control/fixed.cxx 15 3 vcl/source/control/ilstbox.cxx 4 12 vcl/source/control/lstbox.cxx 12 16 vcl/source/control/tabctrl.cxx 1 1 vcl/source/edit/textview.cxx 8 15 vcl/source/edit/vclmedit.cxx 2 4 vcl/source/gdi/print3.cxx 1 0 vcl/source/window/accel.cxx 2 3 vcl/source/window/accessibility.cxx 1 1 vcl/source/window/brdwin.cxx 5 17 vcl/source/window/btndlg.cxx 15 12 vcl/source/window/builder.cxx 1 1 vcl/source/window/clipping.cxx 2 2 vcl/source/window/cursor.cxx 4 3 vcl/source/window/dialog.cxx 10 10 vcl/source/window/dlgctrl.cxx 3 3 vcl/source/window/dndevdis.cxx 8 9 vcl/source/window/dockmgr.cxx 10 6 vcl/source/window/dockwin.cxx 20 3 vcl/source/window/event.cxx 4 2 vcl/source/window/floatwin.cxx 4 2 vcl/source/window/introwin.cxx 20 15 vcl/source/window/layout.cxx 10 10 vcl/source/window/menu.cxx 3 3 vcl/source/window/menubarwindow.cxx 2 2 vcl/source/window/menufloatingwindow.cxx 11 11 vcl/source/window/mouse.cxx 6 17 vcl/source/window/msgbox.cxx 1 1 vcl/source/window/paint.cxx 45 18 vcl/source/window/printdlg.cxx 1 0 vcl/source/window/split.cxx 3 3 vcl/source/window/splitwin.cxx 18 19 vcl/source/window/stacking.cxx 1 0 vcl/source/window/syswin.cxx 2 1 vcl/source/window/tabdlg.cxx 7 12 vcl/source/window/taskpanelist.cxx 5 4 vcl/source/window/toolbox.cxx 21 22 vcl/source/window/window.cxx 16 18 vcl/source/window/window2.cxx 7 7 vcl/source/window/winproc.cxx 1 3 vcl/unx/generic/app/i18n_status.cxx 18 4 vcl/unx/generic/printer/cupsmgr.cxx 3 2 vcl/workben/icontest.cxx 1 1 vcl/workben/mtfdemo.cxx 13 6 vcl/workben/vcldemo.cxx 3 3 xmlsecurity/inc/xmlsecurity/certificatechooser.hxx 22 17 xmlsecurity/inc/xmlsecurity/certificateviewer.hxx 18 18 xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx 22 18 xmlsecurity/inc/xmlsecurity/macrosecurity.hxx 3 1 xmlsecurity/source/dialogs/certificatechooser.cxx 44 1 xmlsecurity/source/dialogs/certificateviewer.cxx 16 1 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx 38 1 xmlsecurity/source/dialogs/macrosecurity.cxx
2015-03-09 14:29:30 +02:00
VclPtr<vcl::Window> m_pWindow;
vcl::Region* m_pChildRegion;
Rectangle m_aSelectionRect;
Rectangle m_aPaintRect;
vcl::Region m_aPaintRegion;
sal_uInt16 m_nPaintFlags;
bool m_bPop : 1;
bool m_bRestoreCursor : 1;
bool m_bStartedBufferedPaint : 1; ///< This PaintHelper started a buffered paint, and should paint it on the screen when being destructed.
public:
PaintHelper(vcl::Window* pWindow, sal_uInt16 nPaintFlags);
void SetPop()
{
m_bPop = true;
}
void SetPaintRect(const Rectangle& rRect)
{
m_aPaintRect = rRect;
}
void SetSelectionRect(const Rectangle& rRect)
{
m_aSelectionRect = rRect;
}
void SetRestoreCursor(bool bRestoreCursor)
{
m_bRestoreCursor = bRestoreCursor;
}
bool GetRestoreCursor() const
{
return m_bRestoreCursor;
}
sal_uInt16 GetPaintFlags() const
{
return m_nPaintFlags;
}
vcl::Region& GetPaintRegion()
{
return m_aPaintRegion;
}
void DoPaint(const vcl::Region* pRegion);
/// Start buffered paint: set it up to have the same settings as m_pWindow.
void StartBufferedPaint();
/// Paint the content of the buffer to the current m_pWindow.
void PaintBuffer();
~PaintHelper();
};
PaintHelper::PaintHelper(vcl::Window *pWindow, sal_uInt16 nPaintFlags)
: m_pWindow(pWindow)
, m_pChildRegion(NULL)
, m_nPaintFlags(nPaintFlags)
, m_bPop(false)
, m_bRestoreCursor(false)
, m_bStartedBufferedPaint(false)
{
}
void PaintHelper::StartBufferedPaint()
{
ImplFrameData* pFrameData = m_pWindow->mpWindowImpl->mpFrameData;
assert(!pFrameData->mbInBufferedPaint);
pFrameData->mbInBufferedPaint = true;
pFrameData->maBufferedRect = Rectangle();
m_bStartedBufferedPaint = true;
}
void PaintHelper::PaintBuffer()
{
ImplFrameData* pFrameData = m_pWindow->mpWindowImpl->mpFrameData;
assert(pFrameData->mbInBufferedPaint);
assert(m_bStartedBufferedPaint);
PaintBufferGuard aGuard(pFrameData, m_pWindow);
aGuard.SetPaintRect(pFrameData->maBufferedRect);
}
void PaintHelper::DoPaint(const vcl::Region* pRegion)
{
WindowImpl* pWindowImpl = m_pWindow->ImplGetWindowImpl();
vcl::Region* pWinChildClipRegion = m_pWindow->ImplGetWinChildClipRegion();
ImplFrameData* pFrameData = m_pWindow->mpWindowImpl->mpFrameData;
if (pWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALL || pFrameData->mbInBufferedPaint)
{
pWindowImpl->maInvalidateRegion = *pWinChildClipRegion;
}
else
{
if (pRegion)
pWindowImpl->maInvalidateRegion.Union( *pRegion );
if (pWindowImpl->mpWinData && pWindowImpl->mbTrackVisible)
/* #98602# need to repaint all children within the
* tracking rectangle, so the following invert
* operation takes places without traces of the previous
* one.
*/
pWindowImpl->maInvalidateRegion.Union(*pWindowImpl->mpWinData->mpTrackRect);
if (pWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALLCHILDREN)
m_pChildRegion = new vcl::Region(pWindowImpl->maInvalidateRegion);
pWindowImpl->maInvalidateRegion.Intersect(*pWinChildClipRegion);
}
pWindowImpl->mnPaintFlags = 0;
if (!pWindowImpl->maInvalidateRegion.IsEmpty())
{
VCL_GL_INFO("vcl.opengl", "PaintHelper::DoPaint on " <<
typeid( *m_pWindow ).name() << " '" << m_pWindow->GetText() << "' begin");
OutputDevice::PaintScope aScope( m_pWindow );
// double-buffering: setup the buffer if it does not exist
if (!pFrameData->mbInBufferedPaint && m_pWindow->SupportsDoubleBuffering())
StartBufferedPaint();
// double-buffering: if this window does not support double-buffering,
// but we are in the middle of double-buffered paint, we might be
// losing information
if (pFrameData->mbInBufferedPaint && !m_pWindow->SupportsDoubleBuffering())
SAL_WARN("vcl.doublebuffering", "non-double buffered window in the double-buffered hierarchy, painting directly: " << typeid(*m_pWindow.get()).name());
if (pFrameData->mbInBufferedPaint && m_pWindow->SupportsDoubleBuffering())
{
// double-buffering
PaintBufferGuard g(pFrameData, m_pWindow);
m_pWindow->ApplySettings(*pFrameData->mpBuffer.get());
m_pWindow->PushPaintHelper(this, *pFrameData->mpBuffer.get());
m_pWindow->Paint(*pFrameData->mpBuffer.get(), m_aPaintRect);
pFrameData->maBufferedRect.Union(m_aPaintRect);
}
else
{
// direct painting
m_pWindow->ApplySettings(*m_pWindow);
m_pWindow->PushPaintHelper(this, *m_pWindow);
m_pWindow->Paint(*m_pWindow, m_aPaintRect);
}
VCL_GL_INFO("vcl.opengl", "PaintHelper::DoPaint end on " <<
typeid( *m_pWindow ).name() << " '" << m_pWindow->GetText() << "'");
}
}
namespace vcl
{
void RenderTools::DrawSelectionBackground(vcl::RenderContext& rRenderContext, vcl::Window& rWindow,
const Rectangle& rRect, sal_uInt16 nHighlight,
bool bChecked, bool bDrawBorder, bool bDrawExtBorderOnly,
Color* pSelectionTextColor, long nCornerRadius, Color* pPaintColor)
{
if (rRect.IsEmpty())
return;
bool bRoundEdges = nCornerRadius > 0;
const StyleSettings& rStyles = rRenderContext.GetSettings().GetStyleSettings();
// colors used for item highlighting
Color aSelectionBorderColor(pPaintColor ? *pPaintColor : rStyles.GetHighlightColor());
Color aSelectionFillColor(aSelectionBorderColor);
bool bDark = rStyles.GetFaceColor().IsDark();
bool bBright = ( rStyles.GetFaceColor() == Color( COL_WHITE ) );
int c1 = aSelectionBorderColor.GetLuminance();
int c2 = rWindow.GetDisplayBackground().GetColor().GetLuminance();
if (!bDark && !bBright && std::abs(c2 - c1) < (pPaintColor ? 40 : 75))
{
// constrast too low
sal_uInt16 h, s, b;
aSelectionFillColor.RGBtoHSB( h, s, b );
if( b > 50 ) b -= 40;
else b += 40;
aSelectionFillColor.SetColor( Color::HSBtoRGB( h, s, b ) );
aSelectionBorderColor = aSelectionFillColor;
}
if (bRoundEdges)
{
if (aSelectionBorderColor.IsDark())
aSelectionBorderColor.IncreaseLuminance(128);
else
aSelectionBorderColor.DecreaseLuminance(128);
}
Rectangle aRect(rRect);
if (bDrawExtBorderOnly)
{
aRect.Left() -= 1;
aRect.Top() -= 1;
aRect.Right() += 1;
aRect.Bottom() += 1;
}
rRenderContext.Push(PushFlags::FILLCOLOR | PushFlags::LINECOLOR);
if (bDrawBorder)
rRenderContext.SetLineColor(bDark ? Color(COL_WHITE) : (bBright ? Color(COL_BLACK) : aSelectionBorderColor));
else
rRenderContext.SetLineColor();
sal_uInt16 nPercent = 0;
if (!nHighlight)
{
if (bDark)
aSelectionFillColor = COL_BLACK;
else
nPercent = 80; // just checked (light)
}
else
{
if (bChecked && nHighlight == 2)
{
if (bDark)
aSelectionFillColor = COL_LIGHTGRAY;
else if (bBright)
{
aSelectionFillColor = COL_BLACK;
rRenderContext.SetLineColor(COL_BLACK);
nPercent = 0;
}
else
nPercent = bRoundEdges ? 40 : 20; // selected, pressed or checked ( very dark )
}
else if (bChecked || nHighlight == 1)
{
if (bDark)
aSelectionFillColor = COL_GRAY;
else if (bBright)
{
aSelectionFillColor = COL_BLACK;
rRenderContext.SetLineColor(COL_BLACK);
nPercent = 0;
}
else
nPercent = bRoundEdges ? 60 : 35; // selected, pressed or checked ( very dark )
}
else
{
if (bDark)
aSelectionFillColor = COL_LIGHTGRAY;
else if (bBright)
{
aSelectionFillColor = COL_BLACK;
rRenderContext.SetLineColor(COL_BLACK);
if (nHighlight == 3)
nPercent = 80;
else
nPercent = 0;
}
else
nPercent = 70; // selected ( dark )
}
}
if (bDark && bDrawExtBorderOnly)
{
rRenderContext.SetFillColor();
if (pSelectionTextColor)
*pSelectionTextColor = rStyles.GetHighlightTextColor();
}
else
{
rRenderContext.SetFillColor(aSelectionFillColor);
if (pSelectionTextColor)
{
Color aTextColor = rWindow.IsControlBackground() ? rWindow.GetControlForeground() : rStyles.GetButtonTextColor();
Color aHLTextColor = rStyles.GetHighlightTextColor();
int nTextDiff = std::abs(aSelectionFillColor.GetLuminance() - aTextColor.GetLuminance());
int nHLDiff = std::abs(aSelectionFillColor.GetLuminance() - aHLTextColor.GetLuminance());
*pSelectionTextColor = (nHLDiff >= nTextDiff) ? aHLTextColor : aTextColor;
}
}
if (bDark)
{
rRenderContext.DrawRect(aRect);
}
else
{
if (bRoundEdges)
{
tools::Polygon aPoly(aRect, nCornerRadius, nCornerRadius);
tools::PolyPolygon aPolyPoly(aPoly);
rRenderContext.DrawTransparent(aPolyPoly, nPercent);
}
else
{
tools::Polygon aPoly(aRect);
tools::PolyPolygon aPolyPoly(aPoly);
rRenderContext.DrawTransparent(aPolyPoly, nPercent);
}
}
rRenderContext.Pop(); // LINECOLOR | FILLCOLOR
}
void Window::PushPaintHelper(PaintHelper *pHelper, vcl::RenderContext& rRenderContext)
{
pHelper->SetPop();
if ( mpWindowImpl->mpCursor )
pHelper->SetRestoreCursor(mpWindowImpl->mpCursor->ImplSuspend());
mbInitClipRegion = true;
mpWindowImpl->mbInPaint = true;
// restore Paint-Region
vcl::Region &rPaintRegion = pHelper->GetPaintRegion();
rPaintRegion = mpWindowImpl->maInvalidateRegion;
Rectangle aPaintRect = rPaintRegion.GetBoundRect();
// - RTL - re-mirror paint rect and region at this window
if (ImplIsAntiparallel())
{
rRenderContext.ReMirror(aPaintRect);
rRenderContext.ReMirror(rPaintRegion);
}
aPaintRect = ImplDevicePixelToLogic(aPaintRect);
mpWindowImpl->mpPaintRegion = &rPaintRegion;
mpWindowImpl->maInvalidateRegion.SetEmpty();
if ((pHelper->GetPaintFlags() & IMPL_PAINT_ERASE) && rRenderContext.IsBackground())
{
if (rRenderContext.IsClipRegion())
{
vcl::Region aOldRegion = rRenderContext.GetClipRegion();
rRenderContext.SetClipRegion();
Erase(rRenderContext);
rRenderContext.SetClipRegion(aOldRegion);
}
else
Erase(rRenderContext);
}
// #98943# trigger drawing of toolbox selection after all children are painted
if (mpWindowImpl->mbDrawSelectionBackground)
pHelper->SetSelectionRect(aPaintRect);
pHelper->SetPaintRect(aPaintRect);
}
void Window::PopPaintHelper(PaintHelper *pHelper)
{
if (mpWindowImpl->mpWinData)
{
if (mpWindowImpl->mbFocusVisible)
ImplInvertFocus(*(mpWindowImpl->mpWinData->mpFocusRect));
}
mpWindowImpl->mbInPaint = false;
mbInitClipRegion = true;
mpWindowImpl->mpPaintRegion = NULL;
if (mpWindowImpl->mpCursor)
mpWindowImpl->mpCursor->ImplResume(pHelper->GetRestoreCursor());
}
} /* namespace vcl */
PaintHelper::~PaintHelper()
{
WindowImpl* pWindowImpl = m_pWindow->ImplGetWindowImpl();
if (m_bPop)
{
m_pWindow->PopPaintHelper(this);
}
ImplFrameData* pFrameData = m_pWindow->mpWindowImpl->mpFrameData;
if ( m_nPaintFlags & (IMPL_PAINT_PAINTALLCHILDREN | IMPL_PAINT_PAINTCHILDREN) )
{
// Paint from the bottom child window and frontward.
vcl::Window* pTempWindow = pWindowImpl->mpLastChild;
while (pTempWindow)
{
if (pTempWindow->mpWindowImpl->mbVisible)
pTempWindow->ImplCallPaint(m_pChildRegion, m_nPaintFlags);
pTempWindow = pTempWindow->mpWindowImpl->mpPrev;
}
}
if ( pWindowImpl->mpWinData && pWindowImpl->mbTrackVisible && (pWindowImpl->mpWinData->mnTrackFlags & SHOWTRACK_WINDOW) )
/* #98602# need to invert the tracking rect AFTER
* the children have painted
*/
m_pWindow->InvertTracking( *(pWindowImpl->mpWinData->mpTrackRect), pWindowImpl->mpWinData->mnTrackFlags );
// double-buffering: paint in case we created the buffer, the children are
// already painted inside
if (m_bStartedBufferedPaint && pFrameData->mbInBufferedPaint)
{
PaintBuffer();
pFrameData->mbInBufferedPaint = false;
pFrameData->maBufferedRect = Rectangle();
}
// #98943# draw toolbox selection
if( !m_aSelectionRect.IsEmpty() )
m_pWindow->DrawSelectionBackground( m_aSelectionRect, 3, false, true, false );
delete m_pChildRegion;
}
namespace vcl {
void Window::ImplCallPaint(const vcl::Region* pRegion, sal_uInt16 nPaintFlags)
{
// call PrePaint. PrePaint may add to the invalidate region as well as
// other parameters used below.
PrePaint(*this);
mpWindowImpl->mbPaintFrame = false;
if (nPaintFlags & IMPL_PAINT_PAINTALLCHILDREN)
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINT | IMPL_PAINT_PAINTALLCHILDREN | (nPaintFlags & IMPL_PAINT_PAINTALL);
if (nPaintFlags & IMPL_PAINT_PAINTCHILDREN)
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINTCHILDREN;
if (nPaintFlags & IMPL_PAINT_ERASE)
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_ERASE;
if (nPaintFlags & IMPL_PAINT_CHECKRTL)
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_CHECKRTL;
if (!mpWindowImpl->mpFirstChild)
mpWindowImpl->mnPaintFlags &= ~IMPL_PAINT_PAINTALLCHILDREN;
if (mpWindowImpl->mbPaintDisabled)
{
if (mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALL)
Invalidate(InvalidateFlags::NoChildren | InvalidateFlags::NoErase | InvalidateFlags::NoTransparent | InvalidateFlags::NoClipChildren);
else if ( pRegion )
Invalidate(*pRegion, InvalidateFlags::NoChildren | InvalidateFlags::NoErase | InvalidateFlags::NoTransparent | InvalidateFlags::NoClipChildren);
return;
}
nPaintFlags = mpWindowImpl->mnPaintFlags & ~(IMPL_PAINT_PAINT);
PaintHelper aHelper(this, nPaintFlags);
if (mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINT)
aHelper.DoPaint(pRegion);
else
mpWindowImpl->mnPaintFlags = 0;
PostPaint(*this);
}
void Window::ImplCallOverlapPaint()
{
// emit overlapping windows first
vcl::Window* pTempWindow = mpWindowImpl->mpFirstOverlap;
while ( pTempWindow )
{
if ( pTempWindow->mpWindowImpl->mbReallyVisible )
pTempWindow->ImplCallOverlapPaint();
pTempWindow = pTempWindow->mpWindowImpl->mpNext;
}
// only then ourself
if ( mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINT | IMPL_PAINT_PAINTCHILDREN) )
{
// - RTL - notify ImplCallPaint to check for re-mirroring (CHECKRTL)
// because we were called from the Sal layer
OutputDevice::PaintScope aScope( GetOutDev() );
ImplCallPaint(NULL, mpWindowImpl->mnPaintFlags /*| IMPL_PAINT_CHECKRTL */);
}
}
void Window::ImplPostPaint()
{
if ( !ImplDoTiledRendering() && !mpWindowImpl->mpFrameData->maPaintIdle.IsActive() )
mpWindowImpl->mpFrameData->maPaintIdle.Start();
}
IMPL_LINK_NOARG_TYPED(Window, ImplHandlePaintHdl, Idle *, void)
{
// save paint events until layout is done
if (!ImplDoTiledRendering() && IsSystemWindow() && static_cast<const SystemWindow*>(this)->hasPendingLayout())
{
mpWindowImpl->mpFrameData->maPaintIdle.Start();
return;
}
OutputDevice::PaintScope aScope(this);
// save paint events until resizing or initial sizing done
if (!ImplDoTiledRendering() && mpWindowImpl->mbFrame &&
(mpWindowImpl->mpFrameData->maResizeIdle.IsActive() ||
mpWindowImpl->mpFrame->PaintsBlocked()))
{
mpWindowImpl->mpFrameData->maPaintIdle.Start();
}
else if ( mpWindowImpl->mbReallyVisible )
{
ImplCallOverlapPaint();
}
}
IMPL_LINK_NOARG_TYPED(Window, ImplHandleResizeTimerHdl, Idle *, void)
{
if( mpWindowImpl->mbReallyVisible )
{
OutputDevice::PaintScope aScope(this);
ImplCallResize();
if( ImplDoTiledRendering() )
{
ImplHandlePaintHdl(NULL);
}
else if( mpWindowImpl->mpFrameData->maPaintIdle.IsActive() )
{
mpWindowImpl->mpFrameData->maPaintIdle.Stop();
mpWindowImpl->mpFrameData->maPaintIdle.GetIdleHdl().Call( NULL );
}
}
}
void Window::ImplInvalidateFrameRegion( const vcl::Region* pRegion, InvalidateFlags nFlags )
{
// set PAINTCHILDREN for all parent windows till the first OverlapWindow
if ( !ImplIsOverlapWindow() )
{
vcl::Window* pTempWindow = this;
sal_uInt16 nTranspPaint = IsPaintTransparent() ? IMPL_PAINT_PAINT : 0;
do
{
pTempWindow = pTempWindow->ImplGetParent();
if ( pTempWindow->mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTCHILDREN )
break;
pTempWindow->mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINTCHILDREN | nTranspPaint;
if( ! pTempWindow->IsPaintTransparent() )
nTranspPaint = 0;
}
while ( !pTempWindow->ImplIsOverlapWindow() );
}
// set Paint-Flags
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINT;
if ( nFlags & InvalidateFlags::Children )
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINTALLCHILDREN;
if ( !(nFlags & InvalidateFlags::NoErase) )
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_ERASE;
if ( !pRegion )
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINTALL;
// if not everything has to be redrawn, add the region to it
if ( !(mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALL) )
mpWindowImpl->maInvalidateRegion.Union( *pRegion );
// Handle transparent windows correctly: invalidate must be done on the first opaque parent
if( ((IsPaintTransparent() && !(nFlags & InvalidateFlags::NoTransparent)) || (nFlags & InvalidateFlags::Transparent) )
&& ImplGetParent() )
{
vcl::Window *pParent = ImplGetParent();
while( pParent && pParent->IsPaintTransparent() )
pParent = pParent->ImplGetParent();
if( pParent )
{
vcl::Region *pChildRegion;
if ( mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALL )
// invalidate the whole child window region in the parent
pChildRegion = ImplGetWinChildClipRegion();
else
// invalidate the same region in the parent that has to be repainted in the child
pChildRegion = &mpWindowImpl->maInvalidateRegion;
nFlags |= InvalidateFlags::Children; // paint should also be done on all children
nFlags &= ~InvalidateFlags::NoErase; // parent should paint and erase to create proper background
pParent->ImplInvalidateFrameRegion( pChildRegion, nFlags );
}
}
ImplPostPaint();
}
void Window::ImplInvalidateOverlapFrameRegion( const vcl::Region& rRegion )
{
vcl::Region aRegion = rRegion;
ImplClipBoundaries( aRegion, true, true );
if ( !aRegion.IsEmpty() )
ImplInvalidateFrameRegion( &aRegion, InvalidateFlags::Children );
// now we invalidate the overlapping windows
vcl::Window* pTempWindow = mpWindowImpl->mpFirstOverlap;
while ( pTempWindow )
{
if ( pTempWindow->IsVisible() )
pTempWindow->ImplInvalidateOverlapFrameRegion( rRegion );
pTempWindow = pTempWindow->mpWindowImpl->mpNext;
}
}
void Window::ImplInvalidateParentFrameRegion( vcl::Region& rRegion )
{
if ( mpWindowImpl->mbOverlapWin )
mpWindowImpl->mpFrameWindow->ImplInvalidateOverlapFrameRegion( rRegion );
else
{
if( ImplGetParent() )
ImplGetParent()->ImplInvalidateFrameRegion( &rRegion, InvalidateFlags::Children );
}
}
void Window::ImplInvalidate( const vcl::Region* pRegion, InvalidateFlags nFlags )
{
// reset background storage
if ( mpWindowImpl->mpFrameData->mpFirstBackWin )
ImplInvalidateAllOverlapBackgrounds();
// check what has to be redrawn
bool bInvalidateAll = !pRegion;
// take Transparent-Invalidate into account
vcl::Window* pOpaqueWindow = this;
if ( (mpWindowImpl->mbPaintTransparent && !(nFlags & InvalidateFlags::NoTransparent)) || (nFlags & InvalidateFlags::Transparent) )
{
vcl::Window* pTempWindow = pOpaqueWindow->ImplGetParent();
while ( pTempWindow )
{
if ( !pTempWindow->IsPaintTransparent() )
{
pOpaqueWindow = pTempWindow;
nFlags |= InvalidateFlags::Children;
bInvalidateAll = false;
break;
}
if ( pTempWindow->ImplIsOverlapWindow() )
break;
pTempWindow = pTempWindow->ImplGetParent();
}
}
// assemble region
InvalidateFlags nOrgFlags = nFlags;
if ( !(nFlags & (InvalidateFlags::Children | InvalidateFlags::NoChildren)) )
{
if ( GetStyle() & WB_CLIPCHILDREN )
nFlags |= InvalidateFlags::NoChildren;
else
nFlags |= InvalidateFlags::Children;
}
if ( (nFlags & InvalidateFlags::NoChildren) && mpWindowImpl->mpFirstChild )
bInvalidateAll = false;
if ( bInvalidateAll )
ImplInvalidateFrameRegion( NULL, nFlags );
else
{
Rectangle aRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) );
vcl::Region aRegion( aRect );
if ( pRegion )
{
// --- RTL --- remirror region before intersecting it
if ( ImplIsAntiparallel() )
{
const OutputDevice *pOutDev = GetOutDev();
vcl::Region aRgn( *pRegion );
pOutDev->ReMirror( aRgn );
aRegion.Intersect( aRgn );
}
else
aRegion.Intersect( *pRegion );
}
ImplClipBoundaries( aRegion, true, true );
if ( nFlags & InvalidateFlags::NoChildren )
{
nFlags &= ~InvalidateFlags::Children;
if ( !(nFlags & InvalidateFlags::NoClipChildren) )
{
if ( nOrgFlags & InvalidateFlags::NoChildren )
ImplClipAllChildren( aRegion );
else
{
if ( ImplClipChildren( aRegion ) )
nFlags |= InvalidateFlags::Children;
}
}
}
if ( !aRegion.IsEmpty() )
ImplInvalidateFrameRegion( &aRegion, nFlags ); // transparency is handled here, pOpaqueWindow not required
}
if ( nFlags & InvalidateFlags::Update )
pOpaqueWindow->Update(); // start painting at the opaque parent
}
void Window::ImplMoveInvalidateRegion( const Rectangle& rRect,
long nHorzScroll, long nVertScroll,
bool bChildren )
{
if ( (mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINT | IMPL_PAINT_PAINTALL)) == IMPL_PAINT_PAINT )
{
vcl::Region aTempRegion = mpWindowImpl->maInvalidateRegion;
aTempRegion.Intersect( rRect );
aTempRegion.Move( nHorzScroll, nVertScroll );
mpWindowImpl->maInvalidateRegion.Union( aTempRegion );
}
if ( bChildren && (mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTCHILDREN) )
{
vcl::Window* pWindow = mpWindowImpl->mpFirstChild;
while ( pWindow )
{
pWindow->ImplMoveInvalidateRegion( rRect, nHorzScroll, nVertScroll, true );
pWindow = pWindow->mpWindowImpl->mpNext;
}
}
}
void Window::ImplMoveAllInvalidateRegions( const Rectangle& rRect,
long nHorzScroll, long nVertScroll,
bool bChildren )
{
// also shift Paint-Region when paints need processing
ImplMoveInvalidateRegion( rRect, nHorzScroll, nVertScroll, bChildren );
// Paint-Region should be shifted, as drawn by the parents
if ( !ImplIsOverlapWindow() )
{
vcl::Region aPaintAllRegion;
vcl::Window* pPaintAllWindow = this;
do
{
pPaintAllWindow = pPaintAllWindow->ImplGetParent();
if ( pPaintAllWindow->mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALLCHILDREN )
{
if ( pPaintAllWindow->mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALL )
{
aPaintAllRegion.SetEmpty();
break;
}
else
aPaintAllRegion.Union( pPaintAllWindow->mpWindowImpl->maInvalidateRegion );
}
}
while ( !pPaintAllWindow->ImplIsOverlapWindow() );
if ( !aPaintAllRegion.IsEmpty() )
{
aPaintAllRegion.Move( nHorzScroll, nVertScroll );
InvalidateFlags nPaintFlags = InvalidateFlags::NONE;
if ( bChildren )
nPaintFlags |= InvalidateFlags::Children;
ImplInvalidateFrameRegion( &aPaintAllRegion, nPaintFlags );
}
}
}
void Window::ImplValidateFrameRegion( const vcl::Region* pRegion, ValidateFlags nFlags )
{
if ( !pRegion )
mpWindowImpl->maInvalidateRegion.SetEmpty();
else
{
// when all child windows have to be drawn we need to invalidate them before doing so
if ( (mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALLCHILDREN) && mpWindowImpl->mpFirstChild )
{
vcl::Region aChildRegion = mpWindowImpl->maInvalidateRegion;
if ( mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALL )
{
Rectangle aRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) );
aChildRegion = aRect;
}
vcl::Window* pChild = mpWindowImpl->mpFirstChild;
while ( pChild )
{
pChild->Invalidate( aChildRegion, InvalidateFlags::Children | InvalidateFlags::NoTransparent );
pChild = pChild->mpWindowImpl->mpNext;
}
}
if ( mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALL )
{
Rectangle aRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) );
mpWindowImpl->maInvalidateRegion = aRect;
}
mpWindowImpl->maInvalidateRegion.Exclude( *pRegion );
}
mpWindowImpl->mnPaintFlags &= ~IMPL_PAINT_PAINTALL;
if ( nFlags & ValidateFlags::Children )
{
vcl::Window* pChild = mpWindowImpl->mpFirstChild;
while ( pChild )
{
pChild->ImplValidateFrameRegion( pRegion, nFlags );
pChild = pChild->mpWindowImpl->mpNext;
}
}
}
void Window::ImplValidate( const vcl::Region* pRegion, ValidateFlags nFlags )
{
// assemble region
bool bValidateAll = !pRegion;
ValidateFlags nOrgFlags = nFlags;
if ( !(nFlags & (ValidateFlags::Children | ValidateFlags::NoChildren)) )
{
if ( GetStyle() & WB_CLIPCHILDREN )
nFlags |= ValidateFlags::NoChildren;
else
nFlags |= ValidateFlags::Children;
}
if ( (nFlags & ValidateFlags::NoChildren) && mpWindowImpl->mpFirstChild )
bValidateAll = false;
if ( bValidateAll )
ImplValidateFrameRegion( NULL, nFlags );
else
{
Rectangle aRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) );
vcl::Region aRegion( aRect );
if ( pRegion )
aRegion.Intersect( *pRegion );
ImplClipBoundaries( aRegion, true, true );
if ( nFlags & ValidateFlags::NoChildren )
{
nFlags &= ~ValidateFlags::Children;
if ( nOrgFlags & ValidateFlags::NoChildren )
ImplClipAllChildren( aRegion );
else
{
if ( ImplClipChildren( aRegion ) )
nFlags |= ValidateFlags::Children;
}
}
if ( !aRegion.IsEmpty() )
ImplValidateFrameRegion( &aRegion, nFlags );
}
}
void Window::ImplUpdateAll( bool bOverlapWindows )
{
if ( !mpWindowImpl->mbReallyVisible )
return;
bool bFlush = false;
if ( mpWindowImpl->mpFrameWindow->mpWindowImpl->mbPaintFrame )
{
Point aPoint( 0, 0 );
vcl::Region aRegion( Rectangle( aPoint, Size( mnOutWidth, mnOutHeight ) ) );
ImplInvalidateOverlapFrameRegion( aRegion );
if ( mpWindowImpl->mbFrame || (mpWindowImpl->mpBorderWindow && mpWindowImpl->mpBorderWindow->mpWindowImpl->mbFrame) )
bFlush = true;
}
// an update changes the OverlapWindow, such that for later paints
// not too much has to be drawn, if ALLCHILDREN etc. is set
vcl::Window* pWindow = ImplGetFirstOverlapWindow();
if ( bOverlapWindows )
pWindow->ImplCallOverlapPaint();
else
{
if (pWindow->mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINT | IMPL_PAINT_PAINTCHILDREN))
pWindow->ImplCallPaint(NULL, pWindow->mpWindowImpl->mnPaintFlags);
}
if ( bFlush )
Flush();
}
void Window::PrePaint(vcl::RenderContext& /*rRenderContext*/)
{
}
void Window::PostPaint(vcl::RenderContext& /*rRenderContext*/)
{
}
void Window::Paint(vcl::RenderContext& /*rRenderContext*/, const Rectangle& rRect)
{
CallEventListeners(VCLEVENT_WINDOW_PAINT, const_cast<Rectangle *>(&rRect));
}
void Window::SetPaintTransparent( bool bTransparent )
{
// transparency is not useful for frames as the background would have to be provided by a different frame
if( bTransparent && mpWindowImpl->mbFrame )
return;
if ( mpWindowImpl->mpBorderWindow )
mpWindowImpl->mpBorderWindow->SetPaintTransparent( bTransparent );
mpWindowImpl->mbPaintTransparent = bTransparent;
}
void Window::SetWindowRegionPixel()
{
if ( mpWindowImpl->mpBorderWindow )
mpWindowImpl->mpBorderWindow->SetWindowRegionPixel();
else if( mpWindowImpl->mbFrame )
{
mpWindowImpl->maWinRegion = vcl::Region(true);
mpWindowImpl->mbWinRegion = false;
mpWindowImpl->mpFrame->ResetClipRegion();
}
else
{
if ( mpWindowImpl->mbWinRegion )
{
mpWindowImpl->maWinRegion = vcl::Region(true);
mpWindowImpl->mbWinRegion = false;
ImplSetClipFlag();
if ( IsReallyVisible() )
{
// restore background storage
if ( mpWindowImpl->mpOverlapData && mpWindowImpl->mpOverlapData->mpSaveBackDev )
ImplDeleteOverlapBackground();
if ( mpWindowImpl->mpFrameData->mpFirstBackWin )
ImplInvalidateAllOverlapBackgrounds();
Rectangle aRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) );
vcl::Region aRegion( aRect );
ImplInvalidateParentFrameRegion( aRegion );
}
}
}
}
void Window::SetWindowRegionPixel( const vcl::Region& rRegion )
{
if ( mpWindowImpl->mpBorderWindow )
mpWindowImpl->mpBorderWindow->SetWindowRegionPixel( rRegion );
else if( mpWindowImpl->mbFrame )
{
if( !rRegion.IsNull() )
{
mpWindowImpl->maWinRegion = rRegion;
mpWindowImpl->mbWinRegion = ! rRegion.IsEmpty();
if( mpWindowImpl->mbWinRegion )
{
// set/update ClipRegion
RectangleVector aRectangles;
mpWindowImpl->maWinRegion.GetRegionRectangles(aRectangles);
mpWindowImpl->mpFrame->BeginSetClipRegion(aRectangles.size());
for(RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); ++aRectIter)
{
mpWindowImpl->mpFrame->UnionClipRegion(
aRectIter->Left(),
aRectIter->Top(),
aRectIter->GetWidth(), // orig nWidth was ((R - L) + 1), same as GetWidth does
aRectIter->GetHeight()); // same for height
}
mpWindowImpl->mpFrame->EndSetClipRegion();
//long nX;
//long nY;
//long nWidth;
//long nHeight;
//sal_uLong nRectCount;
//ImplRegionInfo aInfo;
//sal_Bool bRegionRect;
//nRectCount = mpWindowImpl->maWinRegion.GetRectCount();
//mpWindowImpl->mpFrame->BeginSetClipRegion( nRectCount );
//bRegionRect = mpWindowImpl->maWinRegion.ImplGetFirstRect( aInfo, nX, nY, nWidth, nHeight );
//while ( bRegionRect )
//{
// mpWindowImpl->mpFrame->UnionClipRegion( nX, nY, nWidth, nHeight );
// bRegionRect = mpWindowImpl->maWinRegion.ImplGetNextRect( aInfo, nX, nY, nWidth, nHeight );
//}
//mpWindowImpl->mpFrame->EndSetClipRegion();
}
else
SetWindowRegionPixel();
}
else
SetWindowRegionPixel();
}
else
{
if ( rRegion.IsNull() )
{
if ( mpWindowImpl->mbWinRegion )
{
mpWindowImpl->maWinRegion = vcl::Region(true);
mpWindowImpl->mbWinRegion = false;
ImplSetClipFlag();
}
}
else
{
mpWindowImpl->maWinRegion = rRegion;
mpWindowImpl->mbWinRegion = true;
ImplSetClipFlag();
}
if ( IsReallyVisible() )
{
// restore background storage
if ( mpWindowImpl->mpOverlapData && mpWindowImpl->mpOverlapData->mpSaveBackDev )
ImplDeleteOverlapBackground();
if ( mpWindowImpl->mpFrameData->mpFirstBackWin )
ImplInvalidateAllOverlapBackgrounds();
Rectangle aRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) );
vcl::Region aRegion( aRect );
ImplInvalidateParentFrameRegion( aRegion );
}
}
}
const vcl::Region& Window::GetWindowRegionPixel() const
{
if ( mpWindowImpl->mpBorderWindow )
return mpWindowImpl->mpBorderWindow->GetWindowRegionPixel();
else
return mpWindowImpl->maWinRegion;
}
bool Window::IsWindowRegionPixel() const
{
if ( mpWindowImpl->mpBorderWindow )
return mpWindowImpl->mpBorderWindow->IsWindowRegionPixel();
else
return mpWindowImpl->mbWinRegion;
}
vcl::Region Window::GetPaintRegion() const
{
if ( mpWindowImpl->mpPaintRegion )
{
vcl::Region aRegion = *mpWindowImpl->mpPaintRegion;
aRegion.Move( -mnOutOffX, -mnOutOffY );
return PixelToLogic( aRegion );
}
else
{
vcl::Region aPaintRegion(true);
return aPaintRegion;
}
}
void Window::Invalidate( InvalidateFlags nFlags )
{
if ( !comphelper::LibreOfficeKit::isActive() && (!IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight) )
return;
ImplInvalidate( NULL, nFlags );
LogicInvalidate(0);
}
void Window::Invalidate( const Rectangle& rRect, InvalidateFlags nFlags )
{
if ( !comphelper::LibreOfficeKit::isActive() && (!IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight) )
return;
OutputDevice *pOutDev = GetOutDev();
Rectangle aRect = pOutDev->ImplLogicToDevicePixel( rRect );
if ( !aRect.IsEmpty() )
{
vcl::Region aRegion( aRect );
ImplInvalidate( &aRegion, nFlags );
Rectangle aLogicRectangle(rRect);
LogicInvalidate(&aLogicRectangle);
}
}
void Window::Invalidate( const vcl::Region& rRegion, InvalidateFlags nFlags )
{
if ( !comphelper::LibreOfficeKit::isActive() && (!IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight) )
return;
if ( rRegion.IsNull() )
{
ImplInvalidate( NULL, nFlags );
LogicInvalidate(0);
}
else
{
vcl::Region aRegion = ImplPixelToDevicePixel( LogicToPixel( rRegion ) );
if ( !aRegion.IsEmpty() )
{
ImplInvalidate( &aRegion, nFlags );
Rectangle aLogicRectangle = rRegion.GetBoundRect();
LogicInvalidate(&aLogicRectangle);
}
}
}
void Window::Validate( ValidateFlags nFlags )
{
if ( !comphelper::LibreOfficeKit::isActive() && (!IsDeviceOutputNecessary() || !mnOutWidth || !mnOutHeight) )
return;
ImplValidate( NULL, nFlags );
}
bool Window::HasPaintEvent() const
{
if ( !mpWindowImpl->mbReallyVisible )
return false;
if ( mpWindowImpl->mpFrameWindow->mpWindowImpl->mbPaintFrame )
return true;
if ( mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINT )
return true;
if ( !ImplIsOverlapWindow() )
{
const vcl::Window* pTempWindow = this;
do
{
pTempWindow = pTempWindow->ImplGetParent();
if ( pTempWindow->mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINTCHILDREN | IMPL_PAINT_PAINTALLCHILDREN) )
return true;
}
while ( !pTempWindow->ImplIsOverlapWindow() );
}
return false;
}
void Window::Update()
{
if ( mpWindowImpl->mpBorderWindow )
{
mpWindowImpl->mpBorderWindow->Update();
return;
}
if ( !mpWindowImpl->mbReallyVisible )
return;
bool bFlush = false;
if ( mpWindowImpl->mpFrameWindow->mpWindowImpl->mbPaintFrame )
{
Point aPoint( 0, 0 );
vcl::Region aRegion( Rectangle( aPoint, Size( mnOutWidth, mnOutHeight ) ) );
ImplInvalidateOverlapFrameRegion( aRegion );
if ( mpWindowImpl->mbFrame || (mpWindowImpl->mpBorderWindow && mpWindowImpl->mpBorderWindow->mpWindowImpl->mbFrame) )
bFlush = true;
}
// First we should skip all windows which are Paint-Transparent
vcl::Window* pUpdateWindow = this;
vcl::Window* pWindow = pUpdateWindow;
while ( !pWindow->ImplIsOverlapWindow() )
{
if ( !pWindow->mpWindowImpl->mbPaintTransparent )
{
pUpdateWindow = pWindow;
break;
}
pWindow = pWindow->ImplGetParent();
}
// In order to limit drawing, an update only draws the window which
// has PAINTALLCHILDREN set
pWindow = pUpdateWindow;
do
{
if ( pWindow->mpWindowImpl->mnPaintFlags & IMPL_PAINT_PAINTALLCHILDREN )
pUpdateWindow = pWindow;
if ( pWindow->ImplIsOverlapWindow() )
break;
pWindow = pWindow->ImplGetParent();
}
while ( pWindow );
// if there is something to paint, trigger a Paint
if ( pUpdateWindow->mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINT | IMPL_PAINT_PAINTCHILDREN) )
{
ImplDelData aDogTag(this);
// trigger an update also for system windows on top of us,
// otherwise holes would remain
vcl::Window* pUpdateOverlapWindow = ImplGetFirstOverlapWindow()->mpWindowImpl->mpFirstOverlap;
while ( pUpdateOverlapWindow )
{
pUpdateOverlapWindow->Update();
pUpdateOverlapWindow = pUpdateOverlapWindow->mpWindowImpl->mpNext;
}
pUpdateWindow->ImplCallPaint(NULL, pUpdateWindow->mpWindowImpl->mnPaintFlags);
if (aDogTag.IsDead())
return;
bFlush = true;
}
if ( bFlush )
Flush();
}
void Window::ImplPaintToDevice( OutputDevice* i_pTargetOutDev, const Point& i_rPos )
{
bool bRVisible = mpWindowImpl->mbReallyVisible;
mpWindowImpl->mbReallyVisible = mpWindowImpl->mbVisible;
bool bDevOutput = mbDevOutput;
mbDevOutput = true;
const OutputDevice *pOutDev = GetOutDev();
long nOldDPIX = pOutDev->GetDPIX();
long nOldDPIY = pOutDev->GetDPIY();
mnDPIX = i_pTargetOutDev->GetDPIX();
mnDPIY = i_pTargetOutDev->GetDPIY();
bool bOutput = IsOutputEnabled();
EnableOutput();
DBG_ASSERT( GetMapMode().GetMapUnit() == MAP_PIXEL, "MapMode must be PIXEL based" );
if ( GetMapMode().GetMapUnit() != MAP_PIXEL )
return;
// preserve graphicsstate
Push();
vcl::Region aClipRegion( GetClipRegion() );
SetClipRegion();
GDIMetaFile* pOldMtf = GetConnectMetaFile();
GDIMetaFile aMtf;
SetConnectMetaFile( &aMtf );
// put a push action to metafile
Push();
// copy graphics state to metafile
vcl::Font aCopyFont = GetFont();
if( nOldDPIX != mnDPIX || nOldDPIY != mnDPIY )
{
aCopyFont.SetHeight( aCopyFont.GetHeight() * mnDPIY / nOldDPIY );
aCopyFont.SetWidth( aCopyFont.GetWidth() * mnDPIX / nOldDPIX );
}
SetFont( aCopyFont );
SetTextColor( GetTextColor() );
if( IsLineColor() )
SetLineColor( GetLineColor() );
else
SetLineColor();
if( IsFillColor() )
SetFillColor( GetFillColor() );
else
SetFillColor();
if( IsTextLineColor() )
SetTextLineColor( GetTextLineColor() );
else
SetTextLineColor();
if( IsOverlineColor() )
SetOverlineColor( GetOverlineColor() );
else
SetOverlineColor();
if( IsTextFillColor() )
SetTextFillColor( GetTextFillColor() );
else
SetTextFillColor();
SetTextAlign( GetTextAlign() );
SetRasterOp( GetRasterOp() );
if( IsRefPoint() )
SetRefPoint( GetRefPoint() );
else
SetRefPoint();
SetLayoutMode( GetLayoutMode() );
SetDigitLanguage( GetDigitLanguage() );
Rectangle aPaintRect( Point( 0, 0 ), GetOutputSizePixel() );
aClipRegion.Intersect( aPaintRect );
SetClipRegion( aClipRegion );
// do the actual paint
// background
if( ! IsPaintTransparent() && IsBackground() && ! (GetParentClipMode() & ParentClipMode::NoClip ) )
Erase(*this);
// foreground
Paint(*this, aPaintRect);
// put a pop action to metafile
Pop();
SetConnectMetaFile( pOldMtf );
EnableOutput( bOutput );
mpWindowImpl->mbReallyVisible = bRVisible;
// paint metafile to VDev
VclPtrInstance<VirtualDevice> pMaskedDevice( *i_pTargetOutDev, 0, 0 );
pMaskedDevice->SetOutputSizePixel( GetOutputSizePixel() );
pMaskedDevice->EnableRTL( IsRTLEnabled() );
aMtf.WindStart();
aMtf.Play( pMaskedDevice );
BitmapEx aBmpEx( pMaskedDevice->GetBitmapEx( Point( 0, 0 ), pMaskedDevice->GetOutputSizePixel() ) );
i_pTargetOutDev->DrawBitmapEx( i_rPos, aBmpEx );
// get rid of virtual device now so they don't pile up during recursive calls
pMaskedDevice.disposeAndClear();
for( vcl::Window* pChild = mpWindowImpl->mpFirstChild; pChild; pChild = pChild->mpWindowImpl->mpNext )
{
if( pChild->mpWindowImpl->mpFrame == mpWindowImpl->mpFrame && pChild->IsVisible() )
{
long nDeltaX = pChild->mnOutOffX - mnOutOffX;
if( pOutDev->HasMirroredGraphics() )
nDeltaX = mnOutWidth - nDeltaX - pChild->mnOutWidth;
long nDeltaY = pChild->GetOutOffYPixel() - GetOutOffYPixel();
Point aPos( i_rPos );
Point aDelta( nDeltaX, nDeltaY );
aPos += aDelta;
pChild->ImplPaintToDevice( i_pTargetOutDev, aPos );
}
}
// restore graphics state
Pop();
EnableOutput( bOutput );
mpWindowImpl->mbReallyVisible = bRVisible;
mbDevOutput = bDevOutput;
mnDPIX = nOldDPIX;
mnDPIY = nOldDPIY;
}
void Window::PaintToDevice( OutputDevice* pDev, const Point& rPos, const Size& /*rSize*/ )
{
// FIXME: scaling: currently this is for pixel copying only
DBG_ASSERT( ! pDev->HasMirroredGraphics(), "PaintToDevice to mirroring graphics" );
DBG_ASSERT( ! pDev->IsRTLEnabled(), "PaintToDevice to mirroring device" );
vcl::Window* pRealParent = NULL;
if( ! mpWindowImpl->mbVisible )
{
vcl::Window* pTempParent = ImplGetDefaultWindow();
if( pTempParent )
pTempParent->EnableChildTransparentMode();
pRealParent = GetParent();
SetParent( pTempParent );
// trigger correct visibility flags for children
Show();
Hide();
}
bool bVisible = mpWindowImpl->mbVisible;
mpWindowImpl->mbVisible = true;
if( mpWindowImpl->mpBorderWindow )
mpWindowImpl->mpBorderWindow->ImplPaintToDevice( pDev, rPos );
else
ImplPaintToDevice( pDev, rPos );
mpWindowImpl->mbVisible = bVisible;
if( pRealParent )
SetParent( pRealParent );
}
void Window::Erase(vcl::RenderContext& rRenderContext)
{
if (!IsDeviceOutputNecessary() || ImplIsRecordLayout())
return;
bool bNativeOK = false;
ControlPart aCtrlPart = ImplGetWindowImpl()->mnNativeBackground;
if (aCtrlPart != 0 && ! IsControlBackground())
{
Rectangle aCtrlRegion(Point(), GetOutputSizePixel());
ControlState nState = ControlState::NONE;
if (IsEnabled())
nState |= ControlState::ENABLED;
bNativeOK = rRenderContext.DrawNativeControl(CTRL_WINDOW_BACKGROUND, aCtrlPart, aCtrlRegion,
nState, ImplControlValue(), OUString());
}
if (mbBackground && !bNativeOK)
{
RasterOp eRasterOp = GetRasterOp();
if (eRasterOp != ROP_OVERPAINT)
SetRasterOp(ROP_OVERPAINT);
rRenderContext.DrawWallpaper(0, 0, mnOutWidth, mnOutHeight, maBackground);
if (eRasterOp != ROP_OVERPAINT)
rRenderContext.SetRasterOp(eRasterOp);
}
if (mpAlphaVDev)
mpAlphaVDev->Erase();
}
void Window::ImplScroll( const Rectangle& rRect,
long nHorzScroll, long nVertScroll, ScrollFlags nFlags )
{
if ( !IsDeviceOutputNecessary() )
return;
nHorzScroll = ImplLogicWidthToDevicePixel( nHorzScroll );
nVertScroll = ImplLogicHeightToDevicePixel( nVertScroll );
if ( !nHorzScroll && !nVertScroll )
return;
// restore background storage
if ( mpWindowImpl->mpFrameData->mpFirstBackWin )
ImplInvalidateAllOverlapBackgrounds();
if ( mpWindowImpl->mpCursor )
mpWindowImpl->mpCursor->ImplSuspend();
ScrollFlags nOrgFlags = nFlags;
if ( !(nFlags & (ScrollFlags::Children | ScrollFlags::NoChildren)) )
{
if ( GetStyle() & WB_CLIPCHILDREN )
nFlags |= ScrollFlags::NoChildren;
else
nFlags |= ScrollFlags::Children;
}
vcl::Region aInvalidateRegion;
bool bScrollChildren(nFlags & ScrollFlags::Children);
bool bErase(!(nFlags & ScrollFlags::NoErase));
if ( !mpWindowImpl->mpFirstChild )
bScrollChildren = false;
OutputDevice *pOutDev = GetOutDev();
// --- RTL --- check if this window requires special action
bool bReMirror = ( ImplIsAntiparallel() );
Rectangle aRectMirror( rRect );
if( bReMirror )
{
// --- RTL --- make sure the invalidate region of this window is
// computed in the same coordinate space as the one from the overlap windows
pOutDev->ReMirror( aRectMirror );
}
// adapt paint areas
ImplMoveAllInvalidateRegions( aRectMirror, nHorzScroll, nVertScroll, bScrollChildren );
if ( !(nFlags & ScrollFlags::NoInvalidate) )
{
ImplCalcOverlapRegion( aRectMirror, aInvalidateRegion, !bScrollChildren, true, false );
// --- RTL ---
// if the scrolling on the device is performed in the opposite direction
// then move the overlaps in that direction to compute the invalidate region
// on the correct side, i.e., revert nHorzScroll
if ( !aInvalidateRegion.IsEmpty() )
{
aInvalidateRegion.Move( bReMirror ? -nHorzScroll : nHorzScroll, nVertScroll );
bErase = true;
}
if ( !(nFlags & ScrollFlags::NoWindowInvalidate) )
{
Rectangle aDestRect( aRectMirror );
aDestRect.Move( bReMirror ? -nHorzScroll : nHorzScroll, nVertScroll );
vcl::Region aWinInvalidateRegion( aRectMirror );
if (!SupportsDoubleBuffering())
// There will be no CopyArea() call below, so invalidate the
// whole visible area, not only the smaller one that was just
// scrolled in.
aWinInvalidateRegion.Exclude(aDestRect);
aInvalidateRegion.Union( aWinInvalidateRegion );
}
}
Point aPoint( mnOutOffX, mnOutOffY );
vcl::Region aRegion( Rectangle( aPoint, Size( mnOutWidth, mnOutHeight ) ) );
if ( nFlags & ScrollFlags::Clip )
aRegion.Intersect( rRect );
if ( mpWindowImpl->mbWinRegion )
aRegion.Intersect( ImplPixelToDevicePixel( mpWindowImpl->maWinRegion ) );
aRegion.Exclude( aInvalidateRegion );
ImplClipBoundaries( aRegion, false, true );
if ( !bScrollChildren )
{
if ( nOrgFlags & ScrollFlags::NoChildren )
ImplClipAllChildren( aRegion );
else
ImplClipChildren( aRegion );
}
if ( mbClipRegion && (nFlags & ScrollFlags::UseClipRegion) )
aRegion.Intersect( maRegion );
if ( !aRegion.IsEmpty() )
{
if ( mpWindowImpl->mpWinData )
{
if ( mpWindowImpl->mbFocusVisible )
ImplInvertFocus( *(mpWindowImpl->mpWinData->mpFocusRect) );
if ( mpWindowImpl->mbTrackVisible && (mpWindowImpl->mpWinData->mnTrackFlags & SHOWTRACK_WINDOW) )
InvertTracking( *(mpWindowImpl->mpWinData->mpTrackRect), mpWindowImpl->mpWinData->mnTrackFlags );
}
#ifndef IOS
// This seems completely unnecessary with tiled rendering, and
// causes the "AquaSalGraphics::copyArea() for non-layered
// graphics" message. Presumably we should bypass this on all
// platforms when dealing with a "window" that uses tiled
// rendering at the moment. Unclear how to figure that out,
// though. Also unclear whether we actually could just not
// create a "frame window", whatever that exactly is, in the
// tiled rendering case, or at least for platforms where tiles
// rendering is all there is.
SalGraphics* pGraphics = ImplGetFrameGraphics();
// The invalidation area contains the area what would be copied here,
// so avoid copying in case of double buffering.
if (pGraphics && !SupportsDoubleBuffering())
{
if( bReMirror )
{
// --- RTL --- frame coordinates require re-mirroring
pOutDev->ReMirror( aRegion );
}
pOutDev->SelectClipRegion( aRegion, pGraphics );
pGraphics->CopyArea( rRect.Left()+nHorzScroll, rRect.Top()+nVertScroll,
rRect.Left(), rRect.Top(),
rRect.GetWidth(), rRect.GetHeight(),
SAL_COPYAREA_WINDOWINVALIDATE, this );
}
#endif
if ( mpWindowImpl->mpWinData )
{
if ( mpWindowImpl->mbFocusVisible )
ImplInvertFocus( *(mpWindowImpl->mpWinData->mpFocusRect) );
if ( mpWindowImpl->mbTrackVisible && (mpWindowImpl->mpWinData->mnTrackFlags & SHOWTRACK_WINDOW) )
InvertTracking( *(mpWindowImpl->mpWinData->mpTrackRect), mpWindowImpl->mpWinData->mnTrackFlags );
}
}
if ( !aInvalidateRegion.IsEmpty() )
{
// --- RTL --- the invalidate region for this windows is already computed in frame coordinates
// so it has to be re-mirrored before calling the Paint-handler
mpWindowImpl->mnPaintFlags |= IMPL_PAINT_CHECKRTL;
InvalidateFlags nPaintFlags = InvalidateFlags::Children;
if ( !bErase )
nPaintFlags |= InvalidateFlags::NoErase;
if ( !bScrollChildren )
{
if ( nOrgFlags & ScrollFlags::NoChildren )
ImplClipAllChildren( aInvalidateRegion );
else
ImplClipChildren( aInvalidateRegion );
}
ImplInvalidateFrameRegion( &aInvalidateRegion, nPaintFlags );
}
if ( bScrollChildren )
{
vcl::Window* pWindow = mpWindowImpl->mpFirstChild;
while ( pWindow )
{
Point aPos = pWindow->GetPosPixel();
aPos += Point( nHorzScroll, nVertScroll );
pWindow->SetPosPixel( aPos );
pWindow = pWindow->mpWindowImpl->mpNext;
}
}
if ( nFlags & ScrollFlags::Update )
Update();
if ( mpWindowImpl->mpCursor )
mpWindowImpl->mpCursor->ImplResume();
}
} /* namespace vcl */
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */