mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 16:00:37 +00:00
Add new event subtype for exposure of region of window.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23598 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
a34cac104e
commit
183c8411a5
6 changed files with 49 additions and 1 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2006-09-23 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
|
* Source/GSWindowDecorationView.m: coimment out dubious change.
|
||||||
|
* Source/GSDisplayServer.m: Add method for expose events
|
||||||
|
* Source/NSWindow.m: Handle expose events.
|
||||||
|
* Headers/AppKit/NSEvent.h: Add expose event type.
|
||||||
|
* Headers/Additions/GNUstepGUI/GSDisplayServer.h: Add method for
|
||||||
|
expose events.
|
||||||
|
|
||||||
2006-09-22 Richard Frith-Macdonald <rfm@gnu.org>
|
2006-09-22 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
* Headers/AppKit/NSColorList.h: Add documentation.
|
* Headers/AppKit/NSColorList.h: Add documentation.
|
||||||
|
|
|
@ -143,6 +143,7 @@ APPKIT_EXPORT NSString * GSScreenNumber;
|
||||||
- (void) styleoffsets: (float*) l : (float*) r : (float*) t : (float*) b
|
- (void) styleoffsets: (float*) l : (float*) r : (float*) t : (float*) b
|
||||||
: (unsigned int) style;
|
: (unsigned int) style;
|
||||||
- (void) docedited: (int) edited : (int) win;
|
- (void) docedited: (int) edited : (int) win;
|
||||||
|
- (void) exposewindow: (NSRect)frame : (int) win;
|
||||||
- (void) setinputstate: (int)state : (int)win;
|
- (void) setinputstate: (int)state : (int)win;
|
||||||
- (void) setinputfocus: (int) win;
|
- (void) setinputfocus: (int) win;
|
||||||
- (void) setalpha: (float)alpha: (int) win;
|
- (void) setalpha: (float)alpha: (int) win;
|
||||||
|
|
|
@ -362,7 +362,8 @@ typedef enum {
|
||||||
GSAppKitDraggingStatus,
|
GSAppKitDraggingStatus,
|
||||||
GSAppKitDraggingExit,
|
GSAppKitDraggingExit,
|
||||||
GSAppKitDraggingDrop,
|
GSAppKitDraggingDrop,
|
||||||
GSAppKitDraggingFinished
|
GSAppKitDraggingFinished,
|
||||||
|
GSAppKitRegionExposed
|
||||||
} GSAppKitSubtype;
|
} GSAppKitSubtype;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -724,6 +724,12 @@ GSCurrentServer(void)
|
||||||
[self subclassResponsibility: _cmd];
|
[self subclassResponsibility: _cmd];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Repaint an exposed region of a buffered window */
|
||||||
|
- (void) exposewindow: (NSRect)frame : (int) win
|
||||||
|
{
|
||||||
|
[self subclassResponsibility: _cmd];
|
||||||
|
}
|
||||||
|
|
||||||
/** Sets the input state for the window given by the
|
/** Sets the input state for the window given by the
|
||||||
GSWindowInputState constant. Instructs the window manager that the
|
GSWindowInputState constant. Instructs the window manager that the
|
||||||
specified window is 'key', 'main', or just a normal window. */
|
specified window is 'key', 'main', or just a normal window. */
|
||||||
|
|
|
@ -124,6 +124,7 @@ struct NSWindow_struct
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
- (void) removeSubview: (NSView*)aView
|
- (void) removeSubview: (NSView*)aView
|
||||||
{
|
{
|
||||||
RETAIN(aView);
|
RETAIN(aView);
|
||||||
|
@ -137,6 +138,7 @@ struct NSWindow_struct
|
||||||
}
|
}
|
||||||
RELEASE(aView);
|
RELEASE(aView);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
- (void) setBackgroundColor: (NSColor *)color
|
- (void) setBackgroundColor: (NSColor *)color
|
||||||
{
|
{
|
||||||
|
|
|
@ -3360,6 +3360,35 @@ resetCursorRectsForView(NSView *theView)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case GSAppKitRegionExposed:
|
||||||
|
{
|
||||||
|
NSRect region;
|
||||||
|
|
||||||
|
region.size.width = [theEvent data1];
|
||||||
|
region.size.height = [theEvent data2];
|
||||||
|
region.origin = [theEvent locationInWindow];
|
||||||
|
switch (_backingType)
|
||||||
|
{
|
||||||
|
case NSBackingStoreBuffered:
|
||||||
|
case NSBackingStoreRetained:
|
||||||
|
/* The window is buffered/retained, so we expect the
|
||||||
|
* backend to have a copy of the region contents and
|
||||||
|
* be able to draw it.
|
||||||
|
*/
|
||||||
|
[GSServerForWindow(self) exposewindow: region
|
||||||
|
: _windowNum];
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
/* non-retained ... so we need to redraw the exposed
|
||||||
|
* region here.
|
||||||
|
*/
|
||||||
|
[_wv setNeedsDisplayInRect: region];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case GSAppKitWindowClose:
|
case GSAppKitWindowClose:
|
||||||
[self performClose: NSApp];
|
[self performClose: NSApp];
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue