Skip to content

Commit

Permalink
cocoa: stop using DisplayState
Browse files Browse the repository at this point in the history
Rework DisplayStateListener callbacks to not use the DisplayState
any more.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
  • Loading branch information
kraxel committed Mar 18, 2013
1 parent 71874c1 commit 5e00d3a
Showing 1 changed file with 10 additions and 25 deletions.
35 changes: 10 additions & 25 deletions ui/cocoa.m
Expand Up @@ -264,8 +264,7 @@ @interface QemuCocoaView : NSView
BOOL isAbsoluteEnabled;
BOOL isTabletEnabled;
}
- (void) resizeContentToWidth:(int)w height:(int)h displayState:(DisplayState *)ds;
- (void) updateDataOffset:(DisplayState *)ds;
- (void) switchSurface:(DisplaySurface *)surface;
- (void) grabMouse;
- (void) ungrabMouse;
- (void) toggleFullScreen:(id)sender;
Expand Down Expand Up @@ -400,19 +399,19 @@ - (void) setContentDimensions
}
}

- (void) resizeContentToWidth:(int)w height:(int)h displayState:(DisplayState *)ds
- (void) switchSurface:(DisplaySurface *)surface
{
COCOA_DEBUG("QemuCocoaView: resizeContent\n");
COCOA_DEBUG("QemuCocoaView: switchSurface\n");

// update screenBuffer
if (dataProviderRef)
CGDataProviderRelease(dataProviderRef);

//sync host window color space with guests
screen.bitsPerPixel = ds_get_bits_per_pixel(ds);
screen.bitsPerComponent = ds_get_bytes_per_pixel(ds) * 2;
screen.bitsPerPixel = surface_bits_per_pixel(surface);
screen.bitsPerComponent = surface_bytes_per_pixel(surface) * 2;

dataProviderRef = CGDataProviderCreateWithData(NULL, ds_get_data(ds), w * 4 * h, NULL);
dataProviderRef = CGDataProviderCreateWithData(NULL, surface_data(surface), w * 4 * h, NULL);

// update windows
if (isFullscreen) {
Expand All @@ -430,20 +429,6 @@ - (void) resizeContentToWidth:(int)w height:(int)h displayState:(DisplayState *)
[self setFrame:NSMakeRect(cx, cy, cw, ch)];
}

- (void) updateDataOffset:(DisplayState *)ds
{
COCOA_DEBUG("QemuCocoaView: UpdateDataOffset\n");

// update screenBuffer
if (dataProviderRef) {
CGDataProviderRelease(dataProviderRef);
}

size_t size = ds_get_width(ds) * 4 * ds_get_height(ds);
dataProviderRef = CGDataProviderCreateWithData(NULL, ds_get_data(ds),
size, NULL);
}

- (void) toggleFullScreen:(id)sender
{
COCOA_DEBUG("QemuCocoaView: toggleFullScreen\n");
Expand Down Expand Up @@ -970,7 +955,7 @@ int main (int argc, const char * argv[]) {

#pragma mark qemu
static void cocoa_update(DisplayChangeListener *dcl,
DisplayState *ds,
DisplayState *dontuse,
int x, int y, int w, int h)
{
COCOA_DEBUG("qemu_cocoa: cocoa_update\n");
Expand All @@ -989,16 +974,16 @@ static void cocoa_update(DisplayChangeListener *dcl,
}

static void cocoa_switch(DisplayChangeListener *dcl,
DisplayState *ds,
DisplayState *dontuse,
DisplaySurface *surface)
{
COCOA_DEBUG("qemu_cocoa: cocoa_resize\n");

[cocoaView resizeContentToWidth:(int)(ds_get_width(ds)) height:(int)(ds_get_height(ds)) displayState:ds];
[cocoaView switchSurface:surface];
}

static void cocoa_refresh(DisplayChangeListener *dcl,
DisplayState *ds)
DisplayState *dontuse)
{
COCOA_DEBUG("qemu_cocoa: cocoa_refresh\n");

Expand Down

0 comments on commit 5e00d3a

Please sign in to comment.