[Libreoffice-commits] core.git: include/vcl

Chris Sherlock chris.sherlock79 at gmail.com
Fri Feb 7 07:59:54 PST 2014


 include/vcl/outdev.hxx |  203 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 197 insertions(+), 6 deletions(-)

New commits:
commit 850d1b784de3cb575a3e12269651d36fce32dfd0
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Thu Feb 6 20:26:28 2014 +1100

    Document OutputDevice class
    
    As part of decoupling the OutputDevice class from the Window
    class, I am going through and documenting what each public function
    does first. This will give a clearer indication of what Window is
    responsible for, and what OutputDevice is responsible for.
    
    Also fixed ImplDevicePixelToLogic's parameter - should not be rLogicRect,
    it should be rPixelRect in the header definition.
    
    Change-Id: I0d0b977c3d432bd08cd6d7fddc7ed878b95506d1
    Reviewed-on: https://gerrit.libreoffice.org/7892
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 3a9bf86..f492621 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -269,9 +269,9 @@ class VCL_DLLPUBLIC OutputDevice
     friend void ImplHandleResize( Window* pWindow, long nNewWidth, long nNewHeight );
 
 private:
-    mutable SalGraphics*        mpGraphics;
-    mutable OutputDevice*       mpPrevGraphics;
-    mutable OutputDevice*       mpNextGraphics;
+    mutable SalGraphics*        mpGraphics;         ///< Graphics context to draw on
+    mutable OutputDevice*       mpPrevGraphics;     ///< Previous output device in list
+    mutable OutputDevice*       mpNextGraphics;     ///< Next output device in list
     GDIMetaFile*                mpMetaFile;
     mutable ImplFontEntry*      mpFontEntry;
     mutable ImplFontCache*      mpFontCache;
@@ -358,42 +358,233 @@ public:
     /** @name Initialization and accessor functions
      */
     ///@{
+
+    /** Get the graphic context that the output device uses to draw on.
+
+     @returns SalGraphics instance.
+     */
     SAL_DLLPRIVATE SalGraphics* ImplGetGraphics() const;
+
+    /** Release the graphics device, and remove it from the graphics device
+     list.
+
+     @param         bRelease    Determines whether to release the fonts of the
+                                physically released graphics device.
+     */
     SAL_DLLPRIVATE void         ImplReleaseGraphics( sal_Bool bRelease = sal_True );
+
+    /** Initialize the graphics device's data structures.
+     */
     SAL_DLLPRIVATE void         ImplInitOutDevData();
+
+    /** De-initialize the graphics device's data structures.
+     */
     SAL_DLLPRIVATE void         ImplDeInitOutDevData();
     ///@}
 
+
     /** @name Helper functions
      */
     ///@{
+
+    /** Get the output device's DPI x-axis value.
+
+     @returns x-axis DPI value
+     */
     SAL_DLLPRIVATE sal_Int32    ImplGetDPIX() const { return mnDPIX; }
+
+    /** Get the output device's DPI y-axis value.
+
+     @returns y-axis DPI value
+     */
     SAL_DLLPRIVATE sal_Int32    ImplGetDPIY() const { return mnDPIY; }
+
+    /** Convert a logical X coordinate to a device pixel's X coordinate.
+
+     To get the device's X coordinate, it must calculate the mapping offset
+     coordinate X position (if there is one - if not then it just adds
+     the pseudo-window offset to the logical X coordinate), the X-DPI of
+     the device and the mapping's X scaling factor.
+
+     @param         nX          Logical X coordinate
+
+     @returns Device's X pixel coordinate
+     */
     SAL_DLLPRIVATE long         ImplLogicXToDevicePixel( long nX ) const;
+
+    /** Convert a logical Y coordinate to a device pixel's Y coordinate.
+
+     To get the device's Y coordinate, it must calculate the mapping offset
+     coordinate Y position (if there is one - if not then it just adds
+     the pseudo-window offset to the logical Y coordinate), the Y-DPI of
+     the device and the mapping's Y scaling factor.
+
+     @param         nY          Logical Y coordinate
+
+     @returns Device's Y pixel coordinate
+     */
     SAL_DLLPRIVATE long         ImplLogicYToDevicePixel( long nY ) const;
+
+    /** Convert a logical width to a width in units of device pixels.
+
+     To get the number of device pixels, it must calculate the X-DPI of the device and
+     the map scaling factor. If there is no mapping, then it just returns the
+     width as nothing more needs to be done.
+
+     @param         nWidth      Logical width
+
+     @returns Width in units of device pixels.
+     */
     SAL_DLLPRIVATE long         ImplLogicWidthToDevicePixel( long nWidth ) const;
+
+    /** Convert a logical height to a height in units of device pixels.
+
+     To get the number of device pixels, it must calculate the Y-DPI of the device and
+     the map scaling factor. If there is no mapping, then it just returns the
+     height as nothing more needs to be done.
+
+     @param         nHeight     Logical height
+
+     @returns Height in units of device pixels.
+     */
     SAL_DLLPRIVATE long         ImplLogicHeightToDevicePixel( long nHeight ) const;
+
+    /** Convert device pixels to a width in logical units.
+
+     To get the logical width, it must calculate the X-DPI of the device and the
+     map scaling factor.
+
+     @param         nWidth      Width in device pixels
+
+     @returns Width in logical units.
+     */
     SAL_DLLPRIVATE long         ImplDevicePixelToLogicWidth( long nWidth ) const;
+
+    /** Convert device pixels to a height in logical units.
+
+     To get the logical height, it must calculate the Y-DPI of the device and the
+     map scaling factor.
+
+     @param         nHeight     Height in device pixels
+
+     @returns Height in logical units.
+     */
     SAL_DLLPRIVATE long         ImplDevicePixelToLogicHeight( long nHeight ) const;
+
+    /** Convert logical height to device pixels, with exact sub-pixel value.
+
+     To get the \em exact pixel height, it must calculate the Y-DPI of the device and the
+     map scaling factor.
+
+     @param         nHeight     Exact height in logical units.
+
+     @returns Exact height in pixels - returns as a float to provide for subpixel value.
+     */
     SAL_DLLPRIVATE float        ImplFloatLogicHeightToDevicePixel( float ) const;
+
+    /** Convert a logical point to a physical point on the device.
+
+     @param         rLogicPt    Const reference to a point in logical units.
+
+     @returns Physical point on the device.
+     */
     SAL_DLLPRIVATE Point        ImplLogicToDevicePixel( const Point& rLogicPt ) const;
+
+    /** Convert a logical size to the size on the physical device.
+
+     @param         rLogicSize  Const reference to a size in logical units
+
+     @returns Physical size on the device.
+     */
     SAL_DLLPRIVATE Size         ImplLogicToDevicePixel( const Size& rLogicSize ) const;
+
+    /** Convert a logical rectangle to a rectangle in physical device pixel units.
+
+     @param         rLogicSize  Const reference to a rectangle in logical units
+
+     @returns Rectangle based on physical device pixel coordinates and units.
+     */
     SAL_DLLPRIVATE Rectangle    ImplLogicToDevicePixel( const Rectangle& rLogicRect ) const;
-    SAL_DLLPRIVATE ::basegfx::B2DPolygon ImplLogicToDevicePixel( const ::basegfx::B2DPolygon&  ) const;
-    SAL_DLLPRIVATE ::basegfx::B2DPolyPolygon ImplLogicToDevicePixel( const ::basegfx::B2DPolyPolygon& ) const;
+
+    /** Convert a rectangle in physical pixel units to a rectangle in physical pixel units and coords.
+
+     @param         rPixelRect  Const reference to rectangle in logical units and coords.
+
+     @returns Rectangle based on logical coordinates and units.
+     */
+    SAL_DLLPRIVATE Rectangle    ImplDevicePixelToLogic( const Rectangle& rPixelRect ) const;
+
+    /** Convert a logical B2DPolygon to a B2DPolygon in physical device pixel units.
+
+     @param         rLogicSize  Const reference to a B2DPolygon in logical units
+
+     @returns B2DPolyPolygon based on physical device pixel coordinates and units.
+     */
+    SAL_DLLPRIVATE ::basegfx::B2DPolygon ImplLogicToDevicePixel( const ::basegfx::B2DPolygon& rLogicPoly ) const;
+
+    /** Convert a logical B2DPolyPolygon to a B2DPolyPolygon in physical device pixel units.
+
+     @param         rLogicPolyPoly  Const reference to a B2DPolyPolygon in logical units
+
+     @returns B2DPolyPolygon based on physical device pixel coordinates and units.
+     */
+    SAL_DLLPRIVATE ::basegfx::B2DPolyPolygon ImplLogicToDevicePixel( const ::basegfx::B2DPolyPolygon& rLogicPolyPoly ) const;
+
+    /** Convert a logical polygon to a polygon in physical device pixel units.
+
+     @param         rLogicPoly  Const reference to a polygon in logical units
+
+     @returns Polygon based on physical device pixel coordinates and units.
+     */
     SAL_DLLPRIVATE Polygon      ImplLogicToDevicePixel( const Polygon& rLogicPoly ) const;
+
+    /** Convert a logical polypolygon to a polypolygon in physical device pixel units.
+
+     @param         rLogicPolyPoly  Const reference to a polypolygon in logical units
+
+     @returns Polypolygon based on physical device pixel coordinates and units.
+     */
     SAL_DLLPRIVATE PolyPolygon  ImplLogicToDevicePixel( const PolyPolygon& rLogicPolyPoly ) const;
+
+    /** Convert a line in logical units to a line in physical device pixel units.
+
+     @param         rLineInfo   Const refernece to a line in logical units
+
+     @returns Line based on physical device pixel coordinates and units.
+     */
     SAL_DLLPRIVATE LineInfo     ImplLogicToDevicePixel( const LineInfo& rLineInfo ) const;
-    SAL_DLLPRIVATE Rectangle    ImplDevicePixelToLogic( const Rectangle& rLogicRect ) const;
+
+    /** Convert a region in pixel units to a region in device pixel units and coords.
+
+     @param         rPixelRect  Const reference to region.
+
+     @returns Region based on device pixel coordinates and units.
+     */
     SAL_DLLPRIVATE Region       ImplPixelToDevicePixel( const Region& rRegion ) const;
+
+    /** Invalidate the view transformation.
+
+     @since AOO bug 75163 (OpenOffice.org 2.4.3 - OOH 680 milestone 212)
+     */
     SAL_DLLPRIVATE void         ImplInvalidateViewTransform();
+
+    /** Get device transformation.
+
+     @since AOO bug 75163 (OpenOffice.org 2.4.3 - OOH 680 milestone 212)
+     */
     SAL_DLLPRIVATE basegfx::B2DHomMatrix ImplGetDeviceTransformation() const;
     ///@}
 
+    /** @name Clipping functions
+     */
+    ///@{
+
     SAL_DLLPRIVATE void         ImplInitClipRegion();
     SAL_DLLPRIVATE bool         ImplSelectClipRegion( const Region&, SalGraphics* pGraphics = NULL );
     SAL_DLLPRIVATE void         ImplSetClipRegion( const Region* pRegion );
 
+    ///@}
+
     /** @name Text and font functions
      */
     ///@{


More information about the Libreoffice-commits mailing list