diff options
author | Jan Holesovsky <kendy@collabora.com> | 2013-10-23 14:01:47 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2013-11-15 16:51:50 +0100 |
commit | 1776ddf591fd24cc377e778dc31694cdab6e5f97 (patch) | |
tree | 977f04cf692f52600354a3303672aa2284bec3c4 /sw/qa | |
parent | dcf897cbcd6dc7d9e5d8416860bd190b60f20843 (diff) |
Tiled rendering: Do the same thing as in touch_lo_draw_tile().
Change-Id: I6cfea5cb0fbc209cb378892c6959098965e7b5ef
Diffstat (limited to 'sw/qa')
-rw-r--r-- | sw/qa/tiledrendering/tiledrendering.cxx | 60 | ||||
-rw-r--r-- | sw/qa/tiledrendering/tiledrendering.ui | 390 |
2 files changed, 253 insertions, 197 deletions
diff --git a/sw/qa/tiledrendering/tiledrendering.cxx b/sw/qa/tiledrendering/tiledrendering.cxx index 3a7a0969faef..148a720850c1 100644 --- a/sw/qa/tiledrendering/tiledrendering.cxx +++ b/sw/qa/tiledrendering/tiledrendering.cxx @@ -7,10 +7,6 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include <com/sun/star/lang/XComponent.hpp> -#include <com/sun/star/lang/XMultiComponentFactory.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/ucb/UniversalContentBroker.hpp> #include <comphelper/processfactory.hxx> #include <cppuhelper/bootstrap.hxx> #include <osl/file.hxx> @@ -22,7 +18,15 @@ #include <vcl/field.hxx> #include <vcl/button.hxx> #include <vcl/fixed.hxx> +#include <vcl/virdev.hxx> #include <sfx2/filedlghelper.hxx> +#include <swmodule.hxx> +#include <wrtsh.hxx> + +#include <com/sun/star/lang/XComponent.hpp> +#include <com/sun/star/lang/XMultiComponentFactory.hpp> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/ucb/UniversalContentBroker.hpp> #include <com/sun/star/ui/dialogs/TemplateDescription.hpp> #include <com/sun/star/ui/dialogs/XFilePicker.hpp> #include <com/sun/star/uno/XInterface.hpp> @@ -55,6 +59,12 @@ class TiledRenderingDialog: public ModalDialog { private: TiledRenderingApp *mpApp; + NumericField *mpContextWidth; + NumericField *mpContextHeight; + NumericField *mpTilePosX; + NumericField *mpTilePosY; + NumericField *mpTileWidth; + NumericField *mpTileHeight; FixedImage *mpImage; public: @@ -72,6 +82,12 @@ public: SetStyle(GetStyle()|WB_CLOSEABLE); + get(mpContextWidth, "spinContextWidth"); + get(mpContextHeight, "spinContextHeight"); + get(mpTilePosX, "spinTilePosX"); + get(mpTilePosY, "spinTilePosY"); + get(mpTileWidth, "spinTileWidth"); + get(mpTileHeight, "spinTileHeight"); get(mpImage, "imageTile"); } @@ -82,24 +98,40 @@ public: DECL_LINK ( RenderHdl, Button * ); DECL_LINK ( ChooseDocumentHdl, Button * ); - sal_Int32 ExtractInt(const char * name) + int extractInt(const NumericField *pField) { - NumericField * pField; - get(pField, name); OUString aString(pField->GetText()); return aString.toInt32(); } - }; IMPL_LINK ( TiledRenderingDialog, RenderHdl, Button *, EMPTYARG ) { - ExtractInt("spinContextWidth"); - ExtractInt("spinContextHeight"); - ExtractInt("spinTilePosX"); - ExtractInt("spinTilePosY"); - ExtractInt("spinTileWidth"); - ExtractInt("spinTileHeight"); + int contextWidth = extractInt(mpContextWidth); + int contextHeight = extractInt(mpContextHeight); + int tilePosX = extractInt(mpTilePosX); + int tilePosY = extractInt(mpTilePosY); + int tileWidth = extractInt(mpTileWidth); + int tileHeight = extractInt(mpTileHeight); + + // do the same thing we are doing in touch_lo_draw_tile() + SwWrtShell *pViewShell = GetActiveWrtShell(); + + if (pViewShell) + { + // TODO create a VirtualDevice based on SystemGraphicsData instead so + // that we get direct rendering; something like: + // + // SystemGraphicsData aData; + // [setup the aData] + // VirtualDevice aDevice(&aData, [color depth]); + VirtualDevice aDevice; + aDevice.SetOutputSizePixel(Size(contextWidth, contextHeight)); + + pViewShell->PaintTile(&aDevice, Rectangle(tilePosX, tilePosY, tileWidth, tileHeight)); + //TODO now get it to the 'context' + } + return 1; } diff --git a/sw/qa/tiledrendering/tiledrendering.ui b/sw/qa/tiledrendering/tiledrendering.ui index 22222d4b46d7..59dc1e6fe200 100644 --- a/sw/qa/tiledrendering/tiledrendering.ui +++ b/sw/qa/tiledrendering/tiledrendering.ui @@ -1,243 +1,267 @@ <?xml version="1.0" encoding="UTF-8"?> <interface> <!-- interface-requires gtk+ 3.0 --> + <object class="GtkAdjustment" id="adjustment1"> + <property name="lower">1</property> + <property name="upper">1000</property> + <property name="value">256</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">10000</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> <object class="GtkWindow" id="TiledRendering"> <property name="can_focus">False</property> <child> <object class="GtkBox" id="box1"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="border_width">12</property> + <property name="spacing">12</property> <child> - <object class="GtkBox" id="box2"> + <object class="GtkBox" id="box7"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="orientation">vertical</property> + <property name="spacing">12</property> <child> - <object class="GtkBox" id="box3"> + <object class="GtkGrid" id="grid2"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="row_spacing">12</property> + <property name="column_spacing">13</property> <child> - <object class="GtkBox" id="box4"> + <object class="GtkLabel" id="labelContextWidth"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel" id="labelContextWidth"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">contextWidth</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="labelContextHeight"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">contextHeight</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="labelTilePosX"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">tilePosX</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="labelTilePoxY"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">tilePosY</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="labelTileWidth"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">tileWidth</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">4</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="labelTileHeight"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">tileHeight</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">5</property> - </packing> - </child> + <property name="hexpand">True</property> + <property name="label" translatable="yes">contextWidth</property> </object> <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> - <object class="GtkBox" id="box5"> + <object class="GtkLabel" id="labelContextHeight"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkSpinButton" id="spinContextWidth"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="progress_pulse_step">1</property> - <property name="numeric">True</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="spinContextHeight"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="progress_pulse_step">1</property> - <property name="numeric">True</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="spinTilePosX"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="progress_pulse_step">1</property> - <property name="numeric">True</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="spinTilePosY"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="progress_pulse_step">1</property> - <property name="numeric">True</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">3</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="spinTileWidth"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="progress_pulse_step">1</property> - <property name="numeric">True</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">4</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="spinTileHeight"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">•</property> - <property name="width_chars">1</property> - <property name="progress_pulse_step">1</property> - <property name="numeric">True</property> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">5</property> - </packing> - </child> + <property name="hexpand">True</property> + <property name="label" translatable="yes">contextHeight</property> </object> <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">1</property> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="labelTilePosX"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">tilePosX</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="labelTilePoxY"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">tilePosY</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="labelTileWidth"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">tileWidth</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="labelTileHeight"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">tileHeight</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spinContextWidth"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="invisible_char_set">True</property> + <property name="progress_pulse_step">1</property> + <property name="input_purpose">number</property> + <property name="adjustment">adjustment1</property> + <property name="numeric">True</property> + <property name="update_policy">if-valid</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spinContextHeight"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="invisible_char_set">True</property> + <property name="progress_pulse_step">1</property> + <property name="adjustment">adjustment1</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spinTilePosX"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="invisible_char_set">True</property> + <property name="progress_pulse_step">1</property> + <property name="adjustment">adjustment2</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spinTilePosY"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="invisible_char_set">True</property> + <property name="progress_pulse_step">1</property> + <property name="adjustment">adjustment2</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spinTileWidth"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="invisible_char_set">True</property> + <property name="progress_pulse_step">1</property> + <property name="adjustment">adjustment1</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkSpinButton" id="spinTileHeight"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">•</property> + <property name="width_chars">1</property> + <property name="invisible_char_set">True</property> + <property name="progress_pulse_step">1</property> + <property name="adjustment">adjustment1</property> + <property name="numeric">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">5</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> </object> <packing> - <property name="expand">True</property> + <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkBox" id="box6"> + <object class="GtkButtonBox" id="buttonbox1"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="spacing">12</property> + <property name="layout_style">start</property> <child> - <object class="GtkButton" id="buttonRenderTile"> - <property name="label" translatable="yes">render tile</property> - <property name="use_action_appearance">False</property> + <object class="GtkButton" id="buttonChooseDocument"> + <property name="label" translatable="yes">choose document</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> + <property name="xalign">0.50999999046325684</property> + <property name="yalign">0.47999998927116394</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="pack_type">end</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkButton" id="buttonChooseDocument"> - <property name="label" translatable="yes">choose document</property> - <property name="use_action_appearance">False</property> + <object class="GtkButton" id="buttonRenderTile"> + <property name="label" translatable="yes">render tile</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> - <property name="xalign">0.50999999046325684</property> - <property name="yalign">0.47999998927116394</property> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> + <property name="pack_type">end</property> <property name="position">1</property> </packing> </child> @@ -250,7 +274,7 @@ </child> </object> <packing> - <property name="expand">True</property> + <property name="expand">False</property> <property name="fill">True</property> <property name="position">0</property> </packing> |