зеркало из https://github.com/mozilla/pjs.git
Bug 431634 - Part 2 - remove unused methods from nsIWidget; r+sr=roc
This commit is contained in:
Родитель
d2b999d343
Коммит
56dd653636
|
@ -56,12 +56,10 @@ class nsIToolkit;
|
|||
class nsIFontMetrics;
|
||||
class nsIRenderingContext;
|
||||
class nsIDeviceContext;
|
||||
class nsIRegion;
|
||||
struct nsFont;
|
||||
class nsIEventListener;
|
||||
class nsIRollupListener;
|
||||
class nsGUIEvent;
|
||||
struct nsColorMap;
|
||||
class imgIContainer;
|
||||
class gfxASurface;
|
||||
class nsIContent;
|
||||
|
@ -84,7 +82,6 @@ typedef nsEventStatus (* EVENT_CALLBACK)(nsGUIEvent *event);
|
|||
*/
|
||||
#define NS_NATIVE_WINDOW 0
|
||||
#define NS_NATIVE_GRAPHIC 1
|
||||
#define NS_NATIVE_COLORMAP 2
|
||||
#define NS_NATIVE_WIDGET 3
|
||||
#define NS_NATIVE_DISPLAY 4
|
||||
#define NS_NATIVE_REGION 5
|
||||
|
@ -103,15 +100,10 @@ typedef nsEventStatus (* EVENT_CALLBACK)(nsGUIEvent *event);
|
|||
#define NS_NATIVE_TSF_DISPLAY_ATTR_MGR 102
|
||||
#endif
|
||||
|
||||
// 0dda48db-4f61-44a7-9f92-041cd92b8a9c
|
||||
// af70b716-2e34-463f-8f1c-273dbddd845b
|
||||
#define NS_IWIDGET_IID \
|
||||
{ 0x0dda48db, 0x4f61, 0x44a7, \
|
||||
{ 0x9f, 0x92, 0x04, 0x1c, 0xd9, 0x2b, 0x8a, 0x9c } }
|
||||
|
||||
// Hide the native window systems real window type so as to avoid
|
||||
// including native window system types and APIs. This is necessary
|
||||
// to ensure cross-platform code.
|
||||
typedef void* nsNativeWidget;
|
||||
{ 0xaf70b716, 0x2e34, 0x463f, \
|
||||
{ 0x8f, 0x1c, 0x27, 0x3d, 0xbd, 0xdd, 0x84, 0x5b } }
|
||||
|
||||
/*
|
||||
* Window shadow styles
|
||||
|
@ -521,14 +513,6 @@ class nsIWidget : public nsISupports {
|
|||
*/
|
||||
NS_IMETHOD GetClientBounds(nsIntRect &aRect) = 0;
|
||||
|
||||
/**
|
||||
* Gets the width and height of the borders
|
||||
* @param aWidth the width of the border
|
||||
* @param aHeight the height of the border
|
||||
*
|
||||
*/
|
||||
NS_IMETHOD GetBorderSize(PRInt32 &aWidth, PRInt32 &aHeight) = 0;
|
||||
|
||||
/**
|
||||
* Get the foreground color for this widget
|
||||
*
|
||||
|
@ -665,15 +649,6 @@ class nsIWidget : public nsISupports {
|
|||
|
||||
NS_IMETHOD Invalidate(const nsIntRect & aRect, PRBool aIsSynchronous) = 0;
|
||||
|
||||
/**
|
||||
* Invalidate a specified region for a widget and repaints it.
|
||||
*
|
||||
* @param aIsSynchronouse PR_TRUE then repaint synchronously. If PR_FALSE repaint later.
|
||||
* @see #Update()
|
||||
*/
|
||||
|
||||
NS_IMETHOD InvalidateRegion(const nsIRegion* aRegion, PRBool aIsSynchronous) = 0;
|
||||
|
||||
/**
|
||||
* Force a synchronous repaint of the window if there are dirty rects.
|
||||
*
|
||||
|
@ -702,16 +677,6 @@ class nsIWidget : public nsISupports {
|
|||
virtual nsIToolkit* GetToolkit() = 0;
|
||||
|
||||
/**
|
||||
* Set the color map for this widget
|
||||
*
|
||||
* @param aColorMap color map for displaying this widget
|
||||
*
|
||||
*/
|
||||
|
||||
NS_IMETHOD SetColorMap(nsColorMap *aColorMap) = 0;
|
||||
|
||||
/**
|
||||
* XXX (This is obsolete and will be removed soon, Use ScrollWidgets instead)
|
||||
* Scroll this widget.
|
||||
*
|
||||
* @param aDx amount to scroll along the x-axis
|
||||
|
@ -722,30 +687,6 @@ class nsIWidget : public nsISupports {
|
|||
|
||||
NS_IMETHOD Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect) = 0;
|
||||
|
||||
/**
|
||||
* Scroll the contents of the widget.
|
||||
* All child widgets are also scrolled by offsetting their coordinates.
|
||||
* A NS_PAINT message is synchronously dispatched for the newly exposed rectangle.
|
||||
*
|
||||
* @param aDx amount to scroll along the x-axis in pixels
|
||||
* @param aDy amount to scroll along the y-axis in pixels
|
||||
*
|
||||
*/
|
||||
|
||||
NS_IMETHOD ScrollWidgets(PRInt32 aDx, PRInt32 aDy) = 0;
|
||||
|
||||
/**
|
||||
* Scroll an area of this widget. Child widgets are not scrolled.
|
||||
* A NS_PAINT message is synchronously dispatched for the newly exposed rectangle.
|
||||
*
|
||||
* @param aRect source rectangle to scroll in the widget in pixels
|
||||
* @param aDx x offset from the source in pixels
|
||||
* @param aDy y offset from the source in pixels
|
||||
*
|
||||
*/
|
||||
|
||||
NS_IMETHOD ScrollRect(nsIntRect &aSrcRect, PRInt32 aDx, PRInt32 aDy) = 0;
|
||||
|
||||
/**
|
||||
* Internal methods
|
||||
*/
|
||||
|
@ -790,23 +731,6 @@ class nsIWidget : public nsISupports {
|
|||
|
||||
NS_IMETHOD SetIcon(const nsAString& anIconSpec) = 0;
|
||||
|
||||
/**
|
||||
* Set the widget's MenuBar.
|
||||
* Must be called after Create.
|
||||
*
|
||||
* @param aMenuBar the menubar
|
||||
*/
|
||||
|
||||
NS_IMETHOD SetMenuBar(void* aMenuBar) = 0;
|
||||
|
||||
/**
|
||||
* Set the widget's MenuBar's visibility
|
||||
*
|
||||
* @param aShow PR_TRUE to show, PR_FALSE to hide
|
||||
*/
|
||||
|
||||
NS_IMETHOD ShowMenuBar(PRBool aShow) = 0;
|
||||
|
||||
/**
|
||||
* Return this widget's origin in screen coordinates.
|
||||
*
|
||||
|
@ -833,18 +757,6 @@ class nsIWidget : public nsISupports {
|
|||
|
||||
NS_IMETHOD EndResizingChildren(void) = 0;
|
||||
|
||||
/**
|
||||
* Returns the preferred width and height for the widget
|
||||
*
|
||||
*/
|
||||
NS_IMETHOD GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight) = 0;
|
||||
|
||||
/**
|
||||
* Set the preferred width and height for the widget
|
||||
*
|
||||
*/
|
||||
NS_IMETHOD SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight) = 0;
|
||||
|
||||
/**
|
||||
* Dispatches an event to the widget
|
||||
*
|
||||
|
@ -857,8 +769,6 @@ class nsIWidget : public nsISupports {
|
|||
*/
|
||||
NS_IMETHOD EnableDragDrop(PRBool aEnable) = 0;
|
||||
|
||||
virtual void ConvertToDeviceCoordinates(nscoord &aX,nscoord &aY) = 0;
|
||||
|
||||
/**
|
||||
* Enables/Disables system mouse capture.
|
||||
* @param aCapture PR_TRUE enables mouse capture, PR_FALSE disables mouse capture
|
||||
|
@ -881,19 +791,6 @@ class nsIWidget : public nsISupports {
|
|||
*/
|
||||
NS_IMETHOD CaptureRollupEvents(nsIRollupListener * aListener, PRBool aDoCapture, PRBool aConsumeRollupEvent) = 0;
|
||||
|
||||
/**
|
||||
* Determine whether a given event should be processed assuming we are
|
||||
* the currently active modal window.
|
||||
* Note that the exact semantics of this method are platform-dependent.
|
||||
* The Macintosh, for instance, cares deeply that this method do exactly
|
||||
* as advertised. Gtk, for instance, handles modality in a completely
|
||||
* different fashion and does little if anything with this method.
|
||||
* @param aRealEvent event is real or a null placeholder (Macintosh)
|
||||
* @param aEvent void pointer to native event structure
|
||||
* @param aForWindow return value. PR_TRUE iff event should be processed.
|
||||
*/
|
||||
NS_IMETHOD ModalEventFilter(PRBool aRealEvent, void *aEvent, PRBool *aForWindow) = 0;
|
||||
|
||||
/**
|
||||
* Bring this window to the user's attention. This is intended to be a more
|
||||
* gentle notification than popping the window to the top or putting up an
|
||||
|
|
|
@ -332,9 +332,6 @@ public:
|
|||
NS_IMETHOD SetParent(nsIWidget* aNewParent);
|
||||
virtual nsIWidget* GetParent(void);
|
||||
|
||||
NS_IMETHOD ModalEventFilter(PRBool aRealEvent, void *aEvent,
|
||||
PRBool *aForWindow);
|
||||
|
||||
NS_IMETHOD ConstrainPosition(PRBool aAllowSlop,
|
||||
PRInt32 *aX, PRInt32 *aY);
|
||||
NS_IMETHOD Move(PRInt32 aX, PRInt32 aY);
|
||||
|
@ -349,11 +346,9 @@ public:
|
|||
|
||||
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
|
||||
NS_IMETHOD Invalidate(const nsIntRect &aRect, PRBool aIsSynchronous);
|
||||
NS_IMETHOD InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous);
|
||||
NS_IMETHOD Validate();
|
||||
|
||||
virtual void* GetNativeData(PRUint32 aDataType);
|
||||
NS_IMETHOD SetColorMap(nsColorMap *aColorMap);
|
||||
NS_IMETHOD Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect);
|
||||
virtual nsIntPoint WidgetToScreenOffset();
|
||||
NS_IMETHOD BeginResizingChildren(void);
|
||||
|
@ -366,17 +361,6 @@ public:
|
|||
|
||||
NS_IMETHOD Update();
|
||||
|
||||
virtual void ConvertToDeviceCoordinates(nscoord &aX, nscoord &aY);
|
||||
void LocalToWindowCoordinate(nsIntPoint& aPoint) { ConvertToDeviceCoordinates(aPoint.x, aPoint.y); }
|
||||
void LocalToWindowCoordinate(nscoord& aX, nscoord& aY) { ConvertToDeviceCoordinates(aX, aY); }
|
||||
void LocalToWindowCoordinate(nsIntRect& aRect) { ConvertToDeviceCoordinates(aRect.x, aRect.y); }
|
||||
|
||||
NS_IMETHOD SetMenuBar(void* aMenuBar);
|
||||
NS_IMETHOD ShowMenuBar(PRBool aShow);
|
||||
|
||||
NS_IMETHOD GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight);
|
||||
NS_IMETHOD SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight);
|
||||
|
||||
NS_IMETHOD SetCursor(nsCursor aCursor);
|
||||
NS_IMETHOD SetCursor(imgIContainer* aCursor, PRUint32 aHotspotX, PRUint32 aHotspotY);
|
||||
|
||||
|
@ -408,7 +392,6 @@ public:
|
|||
NS_IMETHOD SetWindowShadowStyle(PRInt32 aStyle);
|
||||
|
||||
// Mac specific methods
|
||||
virtual PRBool PointInWidget(Point aThePoint);
|
||||
|
||||
virtual PRBool DispatchWindowEvent(nsGUIEvent& event);
|
||||
|
||||
|
@ -432,8 +415,6 @@ protected:
|
|||
PRBool ReportMoveEvent();
|
||||
PRBool ReportSizeEvent();
|
||||
|
||||
NS_IMETHOD CalcOffset(PRInt32 &aX,PRInt32 &aY);
|
||||
|
||||
virtual PRBool OnPaint(nsPaintEvent & aEvent);
|
||||
|
||||
// override to create different kinds of child views. Autoreleases, so
|
||||
|
|
|
@ -1036,15 +1036,6 @@ nsChildView::GetParent(void)
|
|||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsChildView::ModalEventFilter(PRBool aRealEvent, void *aEvent,
|
||||
PRBool *aForWindow)
|
||||
{
|
||||
if (aForWindow)
|
||||
*aForWindow = PR_FALSE;
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsChildView::Enable(PRBool aState)
|
||||
{
|
||||
return NS_OK;
|
||||
|
@ -1119,25 +1110,6 @@ NS_IMETHODIMP nsChildView::SetFocus(PRBool aRaise)
|
|||
}
|
||||
|
||||
|
||||
// Set the colormap of the window
|
||||
NS_IMETHODIMP nsChildView::SetColorMap(nsColorMap *aColorMap)
|
||||
{
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsChildView::SetMenuBar(void* aMenuBar)
|
||||
{
|
||||
return NS_ERROR_FAILURE; // subviews don't have menu bars
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsChildView::ShowMenuBar(PRBool aShow)
|
||||
{
|
||||
return NS_ERROR_FAILURE; // subviews don't have menu bars
|
||||
}
|
||||
|
||||
|
||||
// Override to set the cursor on the mac
|
||||
NS_IMETHODIMP nsChildView::SetCursor(nsCursor aCursor)
|
||||
{
|
||||
|
@ -1284,18 +1256,6 @@ NS_IMETHODIMP nsChildView::Resize(PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt3
|
|||
}
|
||||
|
||||
|
||||
NS_METHOD nsChildView::GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight)
|
||||
{
|
||||
return NS_ERROR_FAILURE; // nobody call this anywhere in the code
|
||||
}
|
||||
|
||||
|
||||
NS_METHOD nsChildView::SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight)
|
||||
{
|
||||
return NS_ERROR_FAILURE; // nobody call this anywhere in the code
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsChildView::BeginResizingChildren(void)
|
||||
{
|
||||
return NS_OK;
|
||||
|
@ -1787,32 +1747,6 @@ NS_IMETHODIMP nsChildView::Validate()
|
|||
}
|
||||
|
||||
|
||||
// Invalidate this component's visible area
|
||||
NS_IMETHODIMP nsChildView::InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
|
||||
|
||||
if (!mView || !mVisible)
|
||||
return NS_OK;
|
||||
|
||||
// FIXME rewrite to use a Cocoa region when nsIRegion isn't a QD Region
|
||||
NSRect r;
|
||||
nsIntRect bounds;
|
||||
nsIRegion* region = const_cast<nsIRegion*>(aRegion); // ugh. this method should be const
|
||||
region->GetBoundingBox(&bounds.x, &bounds.y, &bounds.width, &bounds.height);
|
||||
GeckoRectToNSRect(bounds, r);
|
||||
|
||||
if (aIsSynchronous)
|
||||
[mView displayRect:r];
|
||||
else
|
||||
[mView setNeedsDisplayInRect:r];
|
||||
|
||||
return NS_OK;
|
||||
|
||||
NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT;
|
||||
}
|
||||
|
||||
|
||||
inline PRUint16 COLOR8TOCOLOR16(PRUint8 color8)
|
||||
{
|
||||
// return (color8 == 0xFF ? 0xFFFF : (color8 << 8));
|
||||
|
@ -2061,49 +1995,6 @@ PRBool nsChildView::ReportSizeEvent()
|
|||
#pragma mark -
|
||||
|
||||
|
||||
/* Calculate the x and y offsets for this particular widget
|
||||
* @update ps 09/22/98
|
||||
* @param aX -- x offset amount
|
||||
* @param aY -- y offset amount
|
||||
* @return NOTHING
|
||||
*/
|
||||
NS_IMETHODIMP nsChildView::CalcOffset(PRInt32 &aX,PRInt32 &aY)
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
|
||||
|
||||
aX = aY = 0;
|
||||
NSRect bounds = {{0, 0}, {0, 0}};
|
||||
bounds = [mView convertRect:bounds toView:nil];
|
||||
aX += static_cast<PRInt32>(bounds.origin.x);
|
||||
aY += static_cast<PRInt32>(bounds.origin.y);
|
||||
|
||||
return NS_OK;
|
||||
|
||||
NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT;
|
||||
}
|
||||
|
||||
|
||||
// Find if a point in local coordinates is inside this object
|
||||
PRBool nsChildView::PointInWidget(Point aThePoint)
|
||||
{
|
||||
// get the origin in local coordinates
|
||||
nsIntPoint widgetOrigin(0, 0);
|
||||
LocalToWindowCoordinate(widgetOrigin);
|
||||
|
||||
// get rectangle relatively to the parent
|
||||
nsIntRect widgetRect;
|
||||
GetBounds(widgetRect);
|
||||
|
||||
// convert the topLeft corner to local coordinates
|
||||
widgetRect.MoveBy(widgetOrigin.x, widgetOrigin.y);
|
||||
|
||||
// finally tell whether it's a hit
|
||||
return widgetRect.Contains(aThePoint.h, aThePoint.v);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
|
||||
// Return the offset between this child view and the screen.
|
||||
// @return -- widget origin in screen coordinates
|
||||
nsIntPoint nsChildView::WidgetToScreenOffset()
|
||||
|
@ -2131,17 +2022,6 @@ nsIntPoint nsChildView::WidgetToScreenOffset()
|
|||
}
|
||||
|
||||
|
||||
// Convert the coordinates to some device coordinates so GFX can draw.
|
||||
void nsChildView::ConvertToDeviceCoordinates(nscoord &aX, nscoord &aY)
|
||||
{
|
||||
PRInt32 offX = 0, offY = 0;
|
||||
this->CalcOffset(offX,offY);
|
||||
|
||||
aX += offX;
|
||||
aY += offY;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsChildView::CaptureRollupEvents(nsIRollupListener * aListener,
|
||||
PRBool aDoCapture,
|
||||
PRBool aConsumeRollupEvent)
|
||||
|
|
|
@ -219,9 +219,6 @@ public:
|
|||
NS_IMETHOD SetModal(PRBool aState);
|
||||
NS_IMETHOD IsVisible(PRBool & aState);
|
||||
NS_IMETHOD SetFocus(PRBool aState=PR_FALSE);
|
||||
NS_IMETHOD SetMenuBar(void* aMenuBar);
|
||||
virtual nsMenuBarX* GetMenuBar();
|
||||
NS_IMETHOD ShowMenuBar(PRBool aShow);
|
||||
virtual nsIntPoint WidgetToScreenOffset();
|
||||
|
||||
virtual void* GetNativeData(PRUint32 aDataType) ;
|
||||
|
@ -245,11 +242,8 @@ public:
|
|||
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
|
||||
NS_IMETHOD Update();
|
||||
NS_IMETHOD Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *alCipRect) { return NS_OK; }
|
||||
NS_IMETHOD SetColorMap(nsColorMap *aColorMap) { return NS_OK; }
|
||||
NS_IMETHOD BeginResizingChildren(void) { return NS_OK; }
|
||||
NS_IMETHOD EndResizingChildren(void) { return NS_OK; }
|
||||
NS_IMETHOD GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight) { return NS_OK; }
|
||||
NS_IMETHOD SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight) { return NS_OK; }
|
||||
NS_IMETHOD DispatchEvent(nsGUIEvent* event, nsEventStatus & aStatus) ;
|
||||
NS_IMETHOD CaptureRollupEvents(nsIRollupListener * aListener, PRBool aDoCapture, PRBool aConsumeRollupEvent);
|
||||
NS_IMETHOD GetAttention(PRInt32 aCycleCount);
|
||||
|
@ -274,6 +268,9 @@ public:
|
|||
PRBool HasModalDescendents() { return mNumModalDescendents > 0; }
|
||||
NSWindow *GetCocoaWindow() { return mWindow; }
|
||||
|
||||
void SetMenuBar(nsMenuBarX* aMenuBar);
|
||||
nsMenuBarX *GetMenuBar();
|
||||
|
||||
// nsIKBStateControl interface
|
||||
NS_IMETHOD ResetInputState();
|
||||
|
||||
|
|
|
@ -1222,18 +1222,16 @@ nsCocoaWindow::ReportSizeEvent(NSRect *r)
|
|||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsCocoaWindow::SetMenuBar(void *aMenuBar)
|
||||
void nsCocoaWindow::SetMenuBar(nsMenuBarX *aMenuBar)
|
||||
{
|
||||
if (mMenuBar)
|
||||
mMenuBar->SetParent(nsnull);
|
||||
mMenuBar = static_cast<nsMenuBarX*>(aMenuBar);
|
||||
mMenuBar = aMenuBar;
|
||||
|
||||
// We paint the hidden window menu bar if no other menu bar has been painted
|
||||
// yet so that some reasonable menu bar is displayed when the app starts up.
|
||||
if (!gSomeMenuBarPainted && mMenuBar && (nsMenuUtilsX::GetHiddenWindowMenuBar() == mMenuBar))
|
||||
mMenuBar->Paint();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1246,12 +1244,6 @@ NS_IMETHODIMP nsCocoaWindow::SetFocus(PRBool aState)
|
|||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP nsCocoaWindow::ShowMenuBar(PRBool aShow)
|
||||
{
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
nsIntPoint nsCocoaWindow::WidgetToScreenOffset()
|
||||
{
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK_RETURN;
|
||||
|
|
|
@ -161,7 +161,9 @@ nsresult nsMenuBarX::Create(nsIWidget* aParent, nsIContent* aContent)
|
|||
ConstructNativeMenus();
|
||||
|
||||
// Give this to the parent window. The parent takes ownership.
|
||||
return mParentWindow->SetMenuBar(this);
|
||||
static_cast<nsCocoaWindow*>(mParentWindow)->SetMenuBar(this);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -368,8 +368,6 @@ nsWindow::nsWindow()
|
|||
mCreated = PR_FALSE;
|
||||
mPlaced = PR_FALSE;
|
||||
|
||||
mPreferredWidth = 0;
|
||||
mPreferredHeight = 0;
|
||||
mContainer = nsnull;
|
||||
mDrawingarea = nsnull;
|
||||
mShell = nsnull;
|
||||
|
@ -1039,25 +1037,6 @@ nsWindow::Resize(PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::GetPreferredSize(PRInt32 &aWidth,
|
||||
PRInt32 &aHeight)
|
||||
{
|
||||
aWidth = mPreferredWidth;
|
||||
aHeight = mPreferredHeight;
|
||||
return (mPreferredWidth != 0 && mPreferredHeight != 0) ?
|
||||
NS_OK : NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::SetPreferredSize(PRInt32 aWidth,
|
||||
PRInt32 aHeight)
|
||||
{
|
||||
mPreferredWidth = aWidth;
|
||||
mPreferredHeight = aHeight;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Enable(PRBool aState)
|
||||
{
|
||||
|
@ -1655,32 +1634,6 @@ nsWindow::Invalidate(const nsIntRect &aRect,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::InvalidateRegion(const nsIRegion* aRegion,
|
||||
PRBool aIsSynchronous)
|
||||
{
|
||||
GdkRegion *region = nsnull;
|
||||
aRegion->GetNativeRegion((void *&)region);
|
||||
|
||||
if (region && mDrawingarea) {
|
||||
GdkRectangle rect;
|
||||
gdk_region_get_clipbox(region, &rect);
|
||||
|
||||
LOGDRAW(("Invalidate (region) [%p]: %d %d %d %d (sync: %d)\n",
|
||||
(void *)this,
|
||||
rect.x, rect.y, rect.width, rect.height, aIsSynchronous));
|
||||
|
||||
gdk_window_invalidate_region(mDrawingarea->inner_window,
|
||||
region, FALSE);
|
||||
}
|
||||
else {
|
||||
LOGDRAW(("Invalidate (region) [%p] with empty region\n",
|
||||
(void *)this));
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Update()
|
||||
{
|
||||
|
@ -1691,12 +1644,6 @@ nsWindow::Update()
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::SetColorMap(nsColorMap *aColorMap)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Scroll(PRInt32 aDx,
|
||||
PRInt32 aDy,
|
||||
|
@ -1728,25 +1675,6 @@ nsWindow::Scroll(PRInt32 aDx,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::ScrollWidgets(PRInt32 aDx,
|
||||
PRInt32 aDy)
|
||||
{
|
||||
if (!mDrawingarea)
|
||||
return NS_OK;
|
||||
|
||||
moz_drawingarea_scroll(mDrawingarea, aDx, aDy);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::ScrollRect(nsIntRect &aSrcRect,
|
||||
PRInt32 aDx,
|
||||
PRInt32 aDy)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
void*
|
||||
nsWindow::GetNativeData(PRUint32 aDataType)
|
||||
{
|
||||
|
@ -1854,18 +1782,6 @@ nsWindow::SetIcon(const nsAString& aIconSpec)
|
|||
return SetWindowIconList(iconList);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::SetMenuBar(void * aMenuBar)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::ShowMenuBar(PRBool aShow)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsIntPoint
|
||||
nsWindow::WidgetToScreenOffset()
|
||||
{
|
||||
|
@ -1902,12 +1818,6 @@ nsWindow::EnableDragDrop(PRBool aEnable)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
void
|
||||
nsWindow::ConvertToDeviceCoordinates(nscoord &aX,
|
||||
nscoord &aY)
|
||||
{
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::PreCreateWidget(nsWidgetInitData *aWidgetInitData)
|
||||
{
|
||||
|
|
|
@ -165,10 +165,6 @@ public:
|
|||
PRInt32 aWidth,
|
||||
PRInt32 aHeight,
|
||||
PRBool aRepaint);
|
||||
NS_IMETHOD GetPreferredSize (PRInt32 &aWidth,
|
||||
PRInt32 &aHeight);
|
||||
NS_IMETHOD SetPreferredSize (PRInt32 aWidth,
|
||||
PRInt32 aHeight);
|
||||
NS_IMETHOD IsEnabled (PRBool *aState);
|
||||
|
||||
|
||||
|
@ -189,31 +185,19 @@ public:
|
|||
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
|
||||
NS_IMETHOD Invalidate(const nsIntRect &aRect,
|
||||
PRBool aIsSynchronous);
|
||||
NS_IMETHOD InvalidateRegion(const nsIRegion *aRegion,
|
||||
PRBool aIsSynchronous);
|
||||
NS_IMETHOD Update();
|
||||
NS_IMETHOD SetColorMap(nsColorMap *aColorMap);
|
||||
NS_IMETHOD Scroll(PRInt32 aDx,
|
||||
PRInt32 aDy,
|
||||
nsIntRect *aClipRect);
|
||||
NS_IMETHOD ScrollWidgets(PRInt32 aDx,
|
||||
PRInt32 aDy);
|
||||
NS_IMETHOD ScrollRect(nsIntRect &aSrcRect,
|
||||
PRInt32 aDx,
|
||||
PRInt32 aDy);
|
||||
virtual void* GetNativeData(PRUint32 aDataType);
|
||||
NS_IMETHOD SetBorderStyle(nsBorderStyle aBorderStyle);
|
||||
NS_IMETHOD SetTitle(const nsAString& aTitle);
|
||||
NS_IMETHOD SetIcon(const nsAString& aIconSpec);
|
||||
NS_IMETHOD SetWindowClass(const nsAString& xulWinType);
|
||||
NS_IMETHOD SetMenuBar(void * aMenuBar);
|
||||
NS_IMETHOD ShowMenuBar(PRBool aShow);
|
||||
virtual nsIntPoint WidgetToScreenOffset();
|
||||
NS_IMETHOD BeginResizingChildren(void);
|
||||
NS_IMETHOD EndResizingChildren(void);
|
||||
NS_IMETHOD EnableDragDrop(PRBool aEnable);
|
||||
virtual void ConvertToDeviceCoordinates(nscoord &aX,
|
||||
nscoord &aY);
|
||||
NS_IMETHOD PreCreateWidget(nsWidgetInitData *aWidgetInitData);
|
||||
NS_IMETHOD CaptureMouse(PRBool aCapture);
|
||||
NS_IMETHOD CaptureRollupEvents(nsIRollupListener *aListener,
|
||||
|
|
|
@ -212,8 +212,6 @@ nsWindow::nsWindow() : nsBaseWidget()
|
|||
mIsDestroying = PR_FALSE;
|
||||
mOnDestroyCalled = PR_FALSE;
|
||||
|
||||
mPreferredWidth = 0;
|
||||
mPreferredHeight = 0;
|
||||
mWindowState = nsWindowState_ePrecreate;
|
||||
mWindowType = eWindowType_child;
|
||||
mBorderStyle = eBorderStyle_default;
|
||||
|
@ -1278,61 +1276,6 @@ NS_IMETHODIMP nsWindow::SetSizeMode(PRInt32 aMode)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Return PR_TRUE in aForWindow if the given event should be processed
|
||||
// assuming this is a modal window.
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsWindow::ModalEventFilter(PRBool aRealEvent, void *aEvent,
|
||||
PRBool *aForWindow)
|
||||
{
|
||||
if( PR_FALSE == aRealEvent) {
|
||||
*aForWindow = PR_FALSE;
|
||||
return NS_OK;
|
||||
}
|
||||
#if 0
|
||||
// Set aForWindow if either:
|
||||
// * the message is for a descendent of the given window
|
||||
// * the message is for another window, but is a message which
|
||||
// should be allowed for a disabled window.
|
||||
|
||||
PRBool isMouseEvent = PR_FALSE;
|
||||
PRBool isInWindow = PR_FALSE;
|
||||
|
||||
// Examine the target window & find the frame
|
||||
// XXX should GetNativeData() use GetMainWindow() ?
|
||||
HWND hwnd = (HWND)GetNativeData(NS_NATIVE_WINDOW);
|
||||
hwnd = WinQueryWindow(hwnd, QW_PARENT);
|
||||
|
||||
if( hwnd == mQmsg.hwnd || WinIsChild( mQmsg.hwnd, hwnd))
|
||||
isInWindow = PR_TRUE;
|
||||
else if (!isInWindow && gRollupWidget &&
|
||||
EventIsInsideWindow((nsWindow*)gRollupWidget))
|
||||
// include for consideration any popup menu which may be active at the moment
|
||||
isInWindow = PR_TRUE;
|
||||
|
||||
// XXX really ought to do something about focus here
|
||||
|
||||
if( !isInWindow)
|
||||
{
|
||||
// Block mouse messages for non-modal windows
|
||||
if( mQmsg.msg >= WM_MOUSEFIRST && mQmsg.msg <= WM_MOUSELAST)
|
||||
isMouseEvent = PR_TRUE;
|
||||
else if( mQmsg.msg >= WM_MOUSETRANSLATEFIRST &&
|
||||
mQmsg.msg <= WM_MOUSETRANSLATELAST)
|
||||
isMouseEvent = PR_TRUE;
|
||||
else if( mQmsg.msg == WM_MOUSEENTER || mQmsg.msg == WM_MOUSELEAVE)
|
||||
isMouseEvent = PR_TRUE;
|
||||
}
|
||||
|
||||
// set dispatch indicator
|
||||
*aForWindow = isInWindow || !isMouseEvent;
|
||||
#else
|
||||
*aForWindow = PR_TRUE;
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Constrain a potential move to fit onscreen
|
||||
|
@ -2076,29 +2019,6 @@ NS_METHOD nsWindow::Invalidate(const nsIntRect &aRect, PRBool aIsSynchronous)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous)
|
||||
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
if (mWnd) {
|
||||
PRInt32 aX, aY, aWidth, aHeight;
|
||||
((nsIRegion*)aRegion)->GetBoundingBox (&aX, &aY, &aWidth, &aHeight);
|
||||
|
||||
RECTL rcl = { aX, aY, aX + aWidth, aY + aHeight };
|
||||
NS2PM (rcl);
|
||||
WinInvalidateRect (mWnd, &rcl, FALSE);
|
||||
|
||||
#if 0
|
||||
if( PR_TRUE == aIsSynchronous) {
|
||||
Update();
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Force a synchronous repaint of the window
|
||||
|
@ -2141,7 +2061,6 @@ void* nsWindow::GetNativeData(PRUint32 aDataType)
|
|||
return (void*)hps;
|
||||
}
|
||||
|
||||
case NS_NATIVE_COLORMAP:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -2162,27 +2081,12 @@ void nsWindow::FreeNativeData(void * data, PRUint32 aDataType)
|
|||
case NS_NATIVE_WIDGET:
|
||||
case NS_NATIVE_WINDOW:
|
||||
case NS_NATIVE_PLUGIN_PORT:
|
||||
case NS_NATIVE_COLORMAP:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Set the colormap of the window
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsWindow::SetColorMap(nsColorMap *aColorMap)
|
||||
{
|
||||
// SetColorMap - not implemented.
|
||||
// Any palette lives in the device context & should be altered there.
|
||||
// And shouldn't be altered at all, once libimg has decided what should
|
||||
// be in it. So my opinion is this method shouldn't be called.
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Notify a child window of a coming move by sending it a WM_VRNDISABLED
|
||||
|
@ -2229,7 +2133,6 @@ void nsWindow::ScrollChildWindows(PRInt32 aX, PRInt32 aY)
|
|||
// Scroll the bits of a window
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
//XXX Scroll is obsolete and should go away soon
|
||||
NS_METHOD nsWindow::Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect)
|
||||
{
|
||||
RECTL rcl;
|
||||
|
@ -2262,53 +2165,6 @@ NS_METHOD nsWindow::Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsWindow::ScrollWidgets(PRInt32 aDx, PRInt32 aDy)
|
||||
{
|
||||
// this prevents screen corruption while scrolling during a
|
||||
// Moz-originated drag - during a native drag, the screen
|
||||
// isn't updated until the drag ends. so there's no corruption
|
||||
HPS hps = 0;
|
||||
CheckDragStatus(ACTION_SCROLL, &hps);
|
||||
|
||||
// Scroll the entire contents of the window + change the offset of any child windows
|
||||
WinScrollWindow( mWnd, aDx, -aDy, 0, 0, 0, 0,
|
||||
SW_INVALIDATERGN | SW_SCROLLCHILDREN);
|
||||
Update(); // Force synchronous generation of NS_PAINT
|
||||
|
||||
if (hps)
|
||||
ReleaseIfDragHPS(hps);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsWindow::ScrollRect(nsIntRect &aRect, PRInt32 aDx, PRInt32 aDy)
|
||||
{
|
||||
RECTL rcl;
|
||||
|
||||
rcl.xLeft = aRect.x;
|
||||
rcl.yBottom = aRect.y + aRect.height;
|
||||
rcl.xRight = rcl.xLeft + aRect.width;
|
||||
rcl.yTop = rcl.yBottom + aRect.height;
|
||||
NS2PM( rcl);
|
||||
|
||||
// this prevents screen corruption while scrolling during a
|
||||
// Moz-originated drag - during a native drag, the screen
|
||||
// isn't updated until the drag ends. so there's no corruption
|
||||
HPS hps = 0;
|
||||
CheckDragStatus(ACTION_SCROLL, &hps);
|
||||
|
||||
// Scroll the bits in the window defined by trect.
|
||||
// Child windows are not scrolled.
|
||||
WinScrollWindow(mWnd, aDx, -aDy, &rcl, 0, 0, 0, SW_INVALIDATERGN);
|
||||
Update(); // Force synchronous generation of NS_PAINT
|
||||
|
||||
if (hps)
|
||||
ReleaseIfDragHPS(hps);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Every function that needs a thread switch goes through this function
|
||||
|
@ -3534,20 +3390,6 @@ NS_METHOD nsWindow::SetIcon(const nsAString& aIconSpec)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_METHOD nsWindow::GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight)
|
||||
{
|
||||
aWidth = mPreferredWidth;
|
||||
aHeight = mPreferredHeight;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_METHOD nsWindow::SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight)
|
||||
{
|
||||
mPreferredWidth = aWidth;
|
||||
mPreferredHeight = aHeight;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::GetLastInputEventTime(PRUint32& aTime)
|
||||
{
|
||||
|
|
|
@ -154,12 +154,6 @@ class nsWindow : public nsBaseWidget,
|
|||
|
||||
NS_IMETHOD CaptureMouse(PRBool aCapture);
|
||||
|
||||
NS_IMETHOD ModalEventFilter( PRBool aRealEvent, void *aEvent,
|
||||
PRBool *aForWindow );
|
||||
|
||||
NS_IMETHOD GetPreferredSize( PRInt32 &aWidth, PRInt32 &aHeight);
|
||||
NS_IMETHOD SetPreferredSize( PRInt32 aWidth, PRInt32 aHeight);
|
||||
|
||||
NS_IMETHOD BeginResizingChildren();
|
||||
NS_IMETHOD EndResizingChildren();
|
||||
virtual nsIntPoint WidgetToScreenOffset();
|
||||
|
@ -169,22 +163,16 @@ class nsWindow : public nsBaseWidget,
|
|||
NS_IMETHOD GetLastInputEventTime(PRUint32& aTime);
|
||||
|
||||
// Widget appearance
|
||||
NS_IMETHOD SetColorMap( nsColorMap *aColorMap);
|
||||
NS_IMETHOD SetCursor( nsCursor aCursor);
|
||||
NS_IMETHOD SetCursor(imgIContainer* aCursor,
|
||||
PRUint32 aHotspotX, PRUint32 aHotspotY);
|
||||
NS_IMETHOD HideWindowChrome(PRBool aShouldHide);
|
||||
NS_IMETHOD SetTitle( const nsAString& aTitle);
|
||||
NS_IMETHOD SetIcon(const nsAString& aIconSpec);
|
||||
NS_IMETHOD SetMenuBar(void * aMenuBar) { return NS_ERROR_FAILURE; }
|
||||
NS_IMETHOD ShowMenuBar(PRBool aShow) { return NS_ERROR_FAILURE; }
|
||||
NS_IMETHOD Invalidate( PRBool aIsSynchronous);
|
||||
NS_IMETHOD Invalidate( const nsIntRect & aRect, PRBool aIsSynchronous);
|
||||
NS_IMETHOD InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous);
|
||||
NS_IMETHOD Update();
|
||||
NS_IMETHOD Scroll( PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect);
|
||||
NS_IMETHOD ScrollWidgets(PRInt32 aDx, PRInt32 aDy);
|
||||
NS_IMETHOD ScrollRect(nsIntRect &aRect, PRInt32 aDx, PRInt32 aDy);
|
||||
|
||||
// Get a HWND or a HPS.
|
||||
virtual void *GetNativeData( PRUint32 aDataType);
|
||||
|
|
|
@ -191,9 +191,6 @@ nsWindow::nsWindow()
|
|||
mIsShown = PR_FALSE;
|
||||
mEnabled = PR_TRUE;
|
||||
|
||||
mPreferredWidth = 0;
|
||||
mPreferredHeight = 0;
|
||||
|
||||
mDrawingArea = nsnull;
|
||||
mIsVisible = PR_FALSE;
|
||||
mActivatePending = PR_FALSE;
|
||||
|
@ -720,35 +717,6 @@ nsWindow::Invalidate(const nsIntRect &aRect,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::InvalidateRegion(const nsIRegion* aRegion,
|
||||
PRBool aIsSynchronous)
|
||||
{
|
||||
|
||||
QRegion *region = nsnull;
|
||||
aRegion->GetNativeRegion((void *&)region);
|
||||
|
||||
if (region && mDrawingArea) {
|
||||
QRect rect = region->boundingRect();
|
||||
|
||||
// LOGDRAW(("Invalidate (region) [%p]: %d %d %d %d (sync: %d)\n",
|
||||
// (void *)this,
|
||||
// rect.x, rect.y, rect.width, rect.height, aIsSynchronous));
|
||||
|
||||
if (aIsSynchronous && !mDrawingArea->paintingActive())
|
||||
mDrawingArea->repaint(*region);
|
||||
else
|
||||
mDrawingArea->update(*region);
|
||||
}
|
||||
else {
|
||||
qDebug("FIXME:>>>>>>Func:%s::%d\n", __PRETTY_FUNCTION__, __LINE__);
|
||||
LOGDRAW(("Invalidate (region) [%p] with empty region\n",
|
||||
(void *)this));
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Update()
|
||||
{
|
||||
|
@ -759,12 +727,6 @@ nsWindow::Update()
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::SetColorMap(nsColorMap *aColorMap)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Scroll(PRInt32 aDx,
|
||||
PRInt32 aDy,
|
||||
|
@ -787,26 +749,6 @@ nsWindow::Scroll(PRInt32 aDx,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::ScrollWidgets(PRInt32 aDx,
|
||||
PRInt32 aDy)
|
||||
{
|
||||
if (!mDrawingArea)
|
||||
return NS_OK;
|
||||
|
||||
mDrawingArea->scroll(aDx, aDy);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::ScrollRect(nsIntRect &aSrcRect,
|
||||
PRInt32 aDx,
|
||||
PRInt32 aDy)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
void*
|
||||
nsWindow::GetNativeData(PRUint32 aDataType)
|
||||
{
|
||||
|
@ -901,12 +843,6 @@ nsWindow::SetIcon(const nsAString& aIconSpec)
|
|||
return SetWindowIconList(iconList);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::ShowMenuBar(PRBool aShow)
|
||||
{
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsIntPoint
|
||||
nsWindow::WidgetToScreenOffset()
|
||||
{
|
||||
|
@ -937,12 +873,6 @@ nsWindow::EnableDragDrop(PRBool aEnable)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
void
|
||||
nsWindow::ConvertToDeviceCoordinates(nscoord &aX,
|
||||
nscoord &aY)
|
||||
{
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::PreCreateWidget(nsWidgetInitData *aWidgetInitData)
|
||||
{
|
||||
|
@ -2521,25 +2451,6 @@ nsWindow::Resize(PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight,
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::GetPreferredSize(PRInt32 &aWidth,
|
||||
PRInt32 &aHeight)
|
||||
{
|
||||
aWidth = mPreferredWidth;
|
||||
aHeight = mPreferredHeight;
|
||||
return (mPreferredWidth != 0 && mPreferredHeight != 0) ?
|
||||
NS_OK : NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::SetPreferredSize(PRInt32 aWidth,
|
||||
PRInt32 aHeight)
|
||||
{
|
||||
mPreferredWidth = aWidth;
|
||||
mPreferredHeight = aHeight;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::Enable(PRBool aState)
|
||||
{
|
||||
|
|
|
@ -174,19 +174,10 @@ public:
|
|||
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
|
||||
NS_IMETHOD Invalidate(const nsIntRect &aRect,
|
||||
PRBool aIsSynchronous);
|
||||
NS_IMETHOD InvalidateRegion(const nsIRegion *aRegion,
|
||||
PRBool aIsSynchronous);
|
||||
NS_IMETHOD Update();
|
||||
NS_IMETHOD SetColorMap(nsColorMap *aColorMap);
|
||||
NS_IMETHOD Scroll(PRInt32 aDx,
|
||||
PRInt32 aDy,
|
||||
nsIntRect *aClipRect);
|
||||
NS_IMETHOD ScrollWidgets(PRInt32 aDx,
|
||||
PRInt32 aDy);
|
||||
NS_IMETHOD ScrollRect(nsIntRect &aSrcRect,
|
||||
PRInt32 aDx,
|
||||
PRInt32 aDy);
|
||||
|
||||
|
||||
NS_IMETHOD PreCreateWidget(nsWidgetInitData *aWidgetInitData);
|
||||
|
||||
|
@ -194,20 +185,12 @@ public:
|
|||
NS_IMETHOD SetBorderStyle(nsBorderStyle aBorderStyle);
|
||||
NS_IMETHOD SetTitle(const nsAString& aTitle);
|
||||
NS_IMETHOD SetIcon(const nsAString& aIconSpec);
|
||||
NS_IMETHOD SetMenuBar(void * aMenuBar) { return NS_ERROR_FAILURE; }
|
||||
NS_IMETHOD ShowMenuBar(PRBool aShow);
|
||||
virtual nsIntPoint WidgetToScreenOffset();
|
||||
NS_IMETHOD BeginResizingChildren(void);
|
||||
NS_IMETHOD EndResizingChildren(void);
|
||||
NS_IMETHOD GetPreferredSize (PRInt32 &aWidth,
|
||||
PRInt32 &aHeight);
|
||||
NS_IMETHOD SetPreferredSize (PRInt32 aWidth,
|
||||
PRInt32 aHeight);
|
||||
NS_IMETHOD DispatchEvent(nsGUIEvent *aEvent, nsEventStatus &aStatus);
|
||||
|
||||
NS_IMETHOD EnableDragDrop(PRBool aEnable);
|
||||
virtual void ConvertToDeviceCoordinates(nscoord &aX,
|
||||
nscoord &aY);
|
||||
NS_IMETHOD CaptureMouse(PRBool aCapture);
|
||||
NS_IMETHOD CaptureRollupEvents(nsIRollupListener *aListener,
|
||||
PRBool aDoCapture,
|
||||
|
|
|
@ -623,8 +623,6 @@ nsWindow::nsWindow() : nsBaseWidget()
|
|||
mDeferredPositioner = NULL;
|
||||
mLastPoint.x = 0;
|
||||
mLastPoint.y = 0;
|
||||
mPreferredWidth = 0;
|
||||
mPreferredHeight = 0;
|
||||
mIsVisible = PR_FALSE;
|
||||
mHas3DBorder = PR_FALSE;
|
||||
#ifdef MOZ_XUL
|
||||
|
@ -1755,65 +1753,6 @@ NS_IMETHODIMP nsWindow::SetSizeMode(PRInt32 aMode) {
|
|||
return rv;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// Return PR_TRUE in aForWindow if the given event should be processed
|
||||
// assuming this is a modal window.
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsWindow::ModalEventFilter(PRBool aRealEvent, void *aEvent,
|
||||
PRBool *aForWindow)
|
||||
{
|
||||
if (!aRealEvent) {
|
||||
*aForWindow = PR_FALSE;
|
||||
return NS_OK;
|
||||
}
|
||||
#if 0
|
||||
// this version actually works, but turns out to be unnecessary
|
||||
// if we use the OS properly.
|
||||
MSG *msg = (MSG *) aEvent;
|
||||
|
||||
switch (msg->message) {
|
||||
case WM_MOUSEMOVE:
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_LBUTTONUP:
|
||||
case WM_LBUTTONDBLCLK:
|
||||
case WM_MBUTTONDOWN:
|
||||
case WM_MBUTTONUP:
|
||||
case WM_MBUTTONDBLCLK:
|
||||
case WM_RBUTTONDOWN:
|
||||
case WM_RBUTTONUP:
|
||||
case WM_RBUTTONDBLCLK:
|
||||
{
|
||||
PRBool acceptEvent;
|
||||
|
||||
// is the event within our window?
|
||||
HWND rollupWindow = NULL;
|
||||
HWND msgWindow = GetTopLevelHWND(msg->hwnd);
|
||||
if (gRollupWidget)
|
||||
rollupWindow = (HWND)gRollupWidget->GetNativeData(NS_NATIVE_WINDOW);
|
||||
acceptEvent = msgWindow && (msgWindow == mWnd || msgWindow == rollupWindow) ?
|
||||
PR_TRUE : PR_FALSE;
|
||||
|
||||
// if not, accept events for any window that hasn't been disabled.
|
||||
if (!acceptEvent) {
|
||||
LONG_PTR proc = ::GetWindowLongPtrW(msgWindow, GWLP_WNDPROC);
|
||||
if (proc == (LONG_PTR)&nsWindow::WindowProc) {
|
||||
nsWindow *msgWin = GetNSWindowPtr(msgWindow);
|
||||
msgWin->IsEnabled(&acceptEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
*aForWindow = PR_TRUE;
|
||||
}
|
||||
#else
|
||||
*aForWindow = PR_TRUE;
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Constrain a potential move to fit onscreen
|
||||
|
@ -2741,28 +2680,6 @@ NS_METHOD nsWindow::Invalidate(const nsIntRect & aRect, PRBool aIsSynchronous)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
if (mWnd) {
|
||||
HRGN nativeRegion;
|
||||
rv = aRegion->GetNativeRegion((void *&)nativeRegion);
|
||||
if (nativeRegion) {
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
VERIFY(::InvalidateRgn(mWnd, nativeRegion, FALSE));
|
||||
|
||||
if (aIsSynchronous) {
|
||||
VERIFY(::UpdateWindow(mWnd));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
rv = NS_ERROR_FAILURE;
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Force a synchronous repaint of the window
|
||||
|
@ -2811,7 +2728,6 @@ void* nsWindow::GetNativeData(PRUint32 aDataType)
|
|||
return nsTextStore::GetDisplayAttrMgr();
|
||||
#endif //NS_ENABLE_TSF
|
||||
|
||||
case NS_NATIVE_COLORMAP:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -2835,52 +2751,12 @@ void nsWindow::FreeNativeData(void * data, PRUint32 aDataType)
|
|||
case NS_NATIVE_WIDGET:
|
||||
case NS_NATIVE_WINDOW:
|
||||
case NS_NATIVE_PLUGIN_PORT:
|
||||
case NS_NATIVE_COLORMAP:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Set the colormap of the window
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsWindow::SetColorMap(nsColorMap *aColorMap)
|
||||
{
|
||||
#if 0
|
||||
if (mPalette != NULL) {
|
||||
::DeleteObject(mPalette);
|
||||
}
|
||||
|
||||
PRUint8 *map = aColorMap->Index;
|
||||
LPLOGPALETTE pLogPal = (LPLOGPALETTE) new char[2 * sizeof(WORD) +
|
||||
aColorMap->NumColors * sizeof(PALETTEENTRY)];
|
||||
pLogPal->palVersion = 0x300;
|
||||
pLogPal->palNumEntries = aColorMap->NumColors;
|
||||
for(int i = 0; i < aColorMap->NumColors; i++)
|
||||
{
|
||||
pLogPal->palPalEntry[i].peRed = *map++;
|
||||
pLogPal->palPalEntry[i].peGreen = *map++;
|
||||
pLogPal->palPalEntry[i].peBlue = *map++;
|
||||
pLogPal->palPalEntry[i].peFlags = 0;
|
||||
}
|
||||
mPalette = ::CreatePalette(pLogPal);
|
||||
delete pLogPal;
|
||||
|
||||
NS_ASSERTION(mPalette != NULL, "Null palette");
|
||||
if (mPalette != NULL) {
|
||||
HDC hDC = ::GetDC(mWnd);
|
||||
HPALETTE hOldPalette = ::SelectPalette(hDC, mPalette, TRUE);
|
||||
::RealizePalette(hDC);
|
||||
::SelectPalette(hDC, hOldPalette, TRUE);
|
||||
::ReleaseDC(mWnd, hDC);
|
||||
}
|
||||
#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
// Invalidates a window if it's not one of ours, for example
|
||||
// a window created by a plugin.
|
||||
|
@ -2900,7 +2776,6 @@ BOOL CALLBACK nsWindow::InvalidateForeignChildWindows(HWND aWnd, LPARAM aMsg)
|
|||
// Scroll the bits of a window
|
||||
//
|
||||
//-------------------------------------------------------------------------
|
||||
//XXX Scroll is obsolete and should go away soon
|
||||
NS_METHOD nsWindow::Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect)
|
||||
{
|
||||
RECT trect;
|
||||
|
@ -2923,33 +2798,6 @@ NS_METHOD nsWindow::Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsWindow::ScrollWidgets(PRInt32 aDx, PRInt32 aDy)
|
||||
{
|
||||
// Scroll the entire contents of the window + change the offset of any child windows
|
||||
::ScrollWindowEx(mWnd, aDx, aDy, NULL, NULL, NULL,
|
||||
NULL, SW_INVALIDATE | SW_SCROLLCHILDREN);
|
||||
::UpdateWindow(mWnd); // Force synchronous generation of NS_PAINT
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsWindow::ScrollRect(nsIntRect &aRect, PRInt32 aDx, PRInt32 aDy)
|
||||
{
|
||||
RECT trect;
|
||||
|
||||
trect.left = aRect.x;
|
||||
trect.top = aRect.y;
|
||||
trect.right = aRect.XMost();
|
||||
trect.bottom = aRect.YMost();
|
||||
|
||||
// Scroll the bits in the window defined by trect.
|
||||
// Child windows are not scrolled.
|
||||
::ScrollWindowEx(mWnd, aDx, aDy, &trect, NULL, NULL,
|
||||
NULL, SW_INVALIDATE);
|
||||
::UpdateWindow(mWnd); // Force synchronous generation of NS_PAINT
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Every function that needs a thread switch goes through this function
|
||||
|
@ -6746,20 +6594,6 @@ PRBool nsWindow::AutoErase()
|
|||
return PR_FALSE;
|
||||
}
|
||||
|
||||
NS_METHOD nsWindow::GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight)
|
||||
{
|
||||
aWidth = mPreferredWidth;
|
||||
aHeight = mPreferredHeight;
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_METHOD nsWindow::SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight)
|
||||
{
|
||||
mPreferredWidth = aWidth;
|
||||
mPreferredHeight = aHeight;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
static PRBool ShouldDrawCompositionStringOurselves()
|
||||
{
|
||||
#ifdef WINCE
|
||||
|
|
|
@ -162,7 +162,6 @@ public:
|
|||
NS_IMETHOD IsVisible(PRBool & aState);
|
||||
NS_IMETHOD PlaceBehind(nsTopLevelWidgetZPlacement aPlacement, nsIWidget *aWidget, PRBool aActivate);
|
||||
NS_IMETHOD SetSizeMode(PRInt32 aMode);
|
||||
NS_IMETHOD ModalEventFilter(PRBool aRealEvent, void *aEvent, PRBool *aForWindow);
|
||||
NS_IMETHOD CaptureMouse(PRBool aCapture);
|
||||
NS_IMETHOD ConstrainPosition(PRBool aAllowSlop, PRInt32 *aX, PRInt32 *aY);
|
||||
NS_IMETHOD Move(PRInt32 aX, PRInt32 aY);
|
||||
|
@ -182,29 +181,19 @@ public:
|
|||
NS_IMETHOD Validate();
|
||||
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
|
||||
NS_IMETHOD Invalidate(const nsIntRect & aRect, PRBool aIsSynchronous);
|
||||
NS_IMETHOD InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous);
|
||||
NS_IMETHOD Update();
|
||||
virtual void* GetNativeData(PRUint32 aDataType);
|
||||
virtual void FreeNativeData(void * data, PRUint32 aDataType);//~~~
|
||||
NS_IMETHOD SetColorMap(nsColorMap *aColorMap);
|
||||
//XXX-Scroll is obsolete it is going away soon
|
||||
NS_IMETHOD Scroll(PRInt32 aDx, PRInt32 aDy, nsIntRect *aClipRect);
|
||||
NS_IMETHOD ScrollWidgets(PRInt32 aDx, PRInt32 aDy);
|
||||
NS_IMETHOD ScrollRect(nsIntRect &aRect, PRInt32 aDx, PRInt32 aDy);
|
||||
NS_IMETHOD SetTitle(const nsAString& aTitle);
|
||||
NS_IMETHOD SetIcon(const nsAString& aIconSpec);
|
||||
NS_IMETHOD SetMenuBar(void * aMenuBar) { return NS_ERROR_FAILURE; }
|
||||
NS_IMETHOD ShowMenuBar(PRBool aShow) { return NS_ERROR_FAILURE; }
|
||||
virtual nsIntPoint WidgetToScreenOffset();
|
||||
NS_IMETHOD BeginResizingChildren(void);
|
||||
NS_IMETHOD EndResizingChildren(void);
|
||||
NS_IMETHOD GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight);
|
||||
NS_IMETHOD SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight);
|
||||
NS_IMETHOD DispatchEvent(nsGUIEvent* event, nsEventStatus & aStatus);
|
||||
NS_IMETHOD EnableDragDrop(PRBool aEnable);
|
||||
|
||||
virtual void SetUpForPaint(HDC aHDC);
|
||||
virtual void ConvertToDeviceCoordinates(nscoord& aX,nscoord& aY) {}
|
||||
|
||||
NS_IMETHOD CaptureRollupEvents(nsIRollupListener * aListener, PRBool aDoCapture, PRBool aConsumeRollupEvent);
|
||||
|
||||
|
|
|
@ -223,11 +223,6 @@ NS_IMETHODIMP nsBaseWidget::Validate()
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsBaseWidget::InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous)
|
||||
{
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// Accessor functions to get/set the client data
|
||||
|
@ -792,33 +787,6 @@ NS_METHOD nsBaseWidget::SetBounds(const nsIntRect &aRect)
|
|||
|
||||
|
||||
|
||||
/**
|
||||
* Calculates the border width and height
|
||||
*
|
||||
**/
|
||||
NS_METHOD nsBaseWidget::GetBorderSize(PRInt32 &aWidth, PRInt32 &aHeight)
|
||||
{
|
||||
nsIntRect rectWin;
|
||||
nsIntRect rect;
|
||||
GetBounds(rectWin);
|
||||
GetClientBounds(rect);
|
||||
|
||||
aWidth = (rectWin.width - rect.width) / 2;
|
||||
aHeight = (rectWin.height - rect.height) / 2;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsBaseWidget::ScrollWidgets(PRInt32 aDx, PRInt32 aDy)
|
||||
{
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsBaseWidget::ScrollRect(nsIntRect &aRect, PRInt32 aDx, PRInt32 aDy)
|
||||
{
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_METHOD nsBaseWidget::EnableDragDrop(PRBool aEnable)
|
||||
{
|
||||
return NS_OK;
|
||||
|
@ -829,14 +797,6 @@ NS_METHOD nsBaseWidget::SetModal(PRBool aModal)
|
|||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
// generic xp assumption is that events should be processed
|
||||
NS_METHOD nsBaseWidget::ModalEventFilter(PRBool aRealEvent, void *aEvent,
|
||||
PRBool *aForWindow)
|
||||
{
|
||||
*aForWindow = PR_TRUE;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsBaseWidget::GetAttention(PRInt32 aCycleCount) {
|
||||
return NS_OK;
|
||||
|
|
|
@ -74,7 +74,6 @@ public:
|
|||
// nsIWidget interface
|
||||
NS_IMETHOD CaptureMouse(PRBool aCapture);
|
||||
NS_IMETHOD Validate();
|
||||
NS_IMETHOD InvalidateRegion(const nsIRegion *aRegion, PRBool aIsSynchronous);
|
||||
NS_IMETHOD GetClientData(void*& aClientData);
|
||||
NS_IMETHOD SetClientData(void* aClientData);
|
||||
NS_IMETHOD Destroy();
|
||||
|
@ -113,8 +112,6 @@ public:
|
|||
virtual nsIToolkit* GetToolkit();
|
||||
virtual gfxASurface* GetThebesSurface();
|
||||
NS_IMETHOD SetModal(PRBool aModal);
|
||||
NS_IMETHOD ModalEventFilter(PRBool aRealEvent, void *aEvent,
|
||||
PRBool *aForWindow);
|
||||
NS_IMETHOD SetWindowClass(const nsAString& xulWinType);
|
||||
NS_IMETHOD SetBorderStyle(nsBorderStyle aBorderStyle);
|
||||
NS_IMETHOD AddEventListener(nsIEventListener * aListener);
|
||||
|
@ -122,9 +119,6 @@ public:
|
|||
NS_IMETHOD GetBounds(nsIntRect &aRect);
|
||||
NS_IMETHOD GetClientBounds(nsIntRect &aRect);
|
||||
NS_IMETHOD GetScreenBounds(nsIntRect &aRect);
|
||||
NS_IMETHOD GetBorderSize(PRInt32 &aWidth, PRInt32 &aHeight);
|
||||
NS_IMETHOD ScrollRect(nsIntRect &aRect, PRInt32 aDx, PRInt32 aDy);
|
||||
NS_IMETHOD ScrollWidgets(PRInt32 aDx, PRInt32 aDy);
|
||||
NS_IMETHOD EnableDragDrop(PRBool aEnable);
|
||||
NS_IMETHOD GetAttention(PRInt32 aCycleCount);
|
||||
NS_IMETHOD GetLastInputEventTime(PRUint32& aTime);
|
||||
|
@ -133,7 +127,6 @@ public:
|
|||
NS_IMETHOD EndSecureKeyboardInput();
|
||||
NS_IMETHOD SetWindowTitlebarColor(nscolor aColor, PRBool aActive);
|
||||
virtual PRBool ShowsResizeIndicator(nsIntRect* aResizerRect);
|
||||
virtual void ConvertToDeviceCoordinates(nscoord &aX,nscoord &aY) {}
|
||||
virtual void FreeNativeData(void * data, PRUint32 aDataType) {}
|
||||
NS_IMETHOD BeginResizeDrag(nsGUIEvent* aEvent, PRInt32 aHorizontal, PRInt32 aVertical);
|
||||
virtual nsresult ActivateNativeMenuItemAt(const nsAString& indexString) { return NS_ERROR_NOT_IMPLEMENTED; }
|
||||
|
|
|
@ -2076,10 +2076,6 @@ NS_IMETHODIMP nsXULWindow::ApplyChromeFlags()
|
|||
// scrollbar stuff needs a content area to toggle the scrollbars on anyway.
|
||||
// So just don't do these until mChromeLoaded is true.
|
||||
|
||||
// menubar has its own special treatment
|
||||
mWindow->ShowMenuBar(mChromeFlags & nsIWebBrowserChrome::CHROME_MENUBAR ?
|
||||
PR_TRUE : PR_FALSE);
|
||||
|
||||
// Scrollbars have their own special treatment.
|
||||
SetContentScrollbarVisibility(mChromeFlags &
|
||||
nsIWebBrowserChrome::CHROME_SCROLLBARS ?
|
||||
|
|
Загрузка…
Ссылка в новой задаче