diff -r 2717213c588a -r d72fc2aace31 windowing/windowserver/inc/Graphics/displaymapping.h --- a/windowing/windowserver/inc/Graphics/displaymapping.h Tue Jun 22 15:21:29 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - -/** - @file - @publishedPartner - @prototype -*/ - -#ifndef DISPMAP_CLIENT_H_ -#define DISPMAP_CLIENT_H_ -#include - -/** Defines the coordinate space UID values for use with - MDisplayMappingBase::MapCoordinates(). -*/ -enum TCoordinateSpace - { - /** - Application coordinate space, possibly offset but not scaled - relative to full-screen space. - */ - EApplicationSpace = 0x1028656F, - /** - User interface coordinate space, possibly scaled but not offset - relative to composition space. - */ - EFullScreenSpace = 0x10286570, - /** - Composition coordinate space, used by composition back-end in - compositing the display contents. - */ - ECompositionSpace = 0x10286571, - /** - Coordinate space for the DSA buffer. May be offset but not scaled - relative to both application and full-screen spaces. Identical to - full-screen space if the DSA buffer is used for UI rendering. - */ - EDirectScreenAccessSpace = 0x1028656E - }; - -/** Provides facilities to map coordinates between various coordinate - spaces. - -*/ -class MDisplayMappingBase - { -public: - enum - { - KUidDisplayMappingBase = 0x1028656D, - ETypeId= KUidDisplayMappingBase - }; -public: - /** Maps the source rectangle from a source coordinate space to a - target coordinate space. Since there may be scaling involved, the - target rectangle may be larger or smaller than the source one, or - even become empty. - - Two rectangles that abut each other before mapping, when mapped - using the same source and target space UIDs, shall also abut each - other after mapping. - - @param aSourceSpace source space - @param aSource source rectangle - @param aTargetSpace target space - @param aTarget target rectangle to be filled in - @return KErrNone if successful or KErrNotSupported if invalid TCoordinateSpace - */ - virtual TInt MapCoordinates(TCoordinateSpace aSourceSpace, const TRect& aSource, TCoordinateSpace aTargetSpace, TRect& aTarget) const =0; - }; - -/** Provides the Window Server client coordinate space mapping - functions. - -*/ -class MDisplayMapping : public MDisplayMappingBase - { -public: - enum - { - KUidDisplayMapping = 0x1028656B, - ETypeId= KUidDisplayMapping - }; -public: - /** Retrieves the largest window extent that is visible at the current - display resolution. This may be larger than the size reported by - SizeInPixels(), and have a negative top-left position, for example. - - @see MDisplayControl - @see CWsScreenDevice::SizeInPixels - - @param aExtent extent to be filled in - */ - virtual void GetMaximumWindowExtent(TRect& aExtent) const =0; - /** Returns the maximum useful size for a surface to be shown on the - display at the current resolution, in both pixels and twips. - - This may be larger than both the screen device SizeInPixels() and - the size of the maximum window extent, if the user interface is - being scaled by the display. In general, the value will be the - native display resolution. - - @see MDisplayControl - @see CWsScreenDevice::SizeInPixels - - @param aPixels pixels to be filled in - @param aTwips twips to be filled in - */ - virtual void GetMaximumSurfaceSize(TSize& aPixels, TSize& aTwips) const =0; - /** Retrieves the extent of a window relative to the top-left corner of - the display. - - This will differ from the window's AbsPosition() if the current - screen size mode is offset from the corner of the display, or if - the user interface is being scaled on the display. - - @param aWindow window in question - @param aExtent extent to be filled in - */ - virtual void GetDisplayExtentOfWindow(const RWindowBase& aWindow, TRect& aExtent) const =0; - }; - - - -#endif /*DISPMAP_CLIENT_H_*/