Changeset - r24767:dedfc39121ac
[Not reviewed]
master
0 2 0
Michael Lutz - 3 years ago 2021-01-24 12:13:25
michi@icosahedron.de
Cleanup: [OSX] Doxygen comment style in video driver.
2 files changed with 48 insertions and 81 deletions:
0 comments (0 inline, 0 general)
src/video/cocoa/cocoa_v.h
Show inline comments
 
@@ -50,47 +50,18 @@ public:
 
	VideoDriver_Cocoa();
 

	
 
	const char *Start(const StringList &param) override;
 

	
 
	/** Stop the video driver */
 
	void Stop() override;
 

	
 
	/** Mark dirty a screen region
 
	 * @param left x-coordinate of left border
 
	 * @param top  y-coordinate of top border
 
	 * @param width width or dirty rectangle
 
	 * @param height height of dirty rectangle
 
	 */
 
	void MakeDirty(int left, int top, int width, int height) override;
 

	
 
	/** Programme main loop */
 
	void MainLoop() override;
 

	
 
	/** Change window resolution
 
	 * @param w New window width
 
	 * @param h New window height
 
	 * @return Whether change was successful
 
	 */
 
	void MakeDirty(int left, int top, int width, int height) override;
 
	bool AfterBlitterChange() override;
 

	
 
	bool ChangeResolution(int w, int h) override;
 

	
 
	/** Set a new window mode
 
	 * @param fullscreen Whether to set fullscreen mode or not
 
	 * @return Whether changing the screen mode was successful
 
	 */
 
	bool ToggleFullscreen(bool fullscreen) override;
 

	
 
	/** Callback invoked after the blitter was changed.
 
	 * @return True if no error.
 
	 */
 
	bool AfterBlitterChange() override;
 

	
 
	/**
 
	 * An edit box lost the input focus. Abort character compositing if necessary.
 
	 */
 
	void EditBoxLostFocus() override;
 

	
 
	/** Return driver name
 
	 * @return driver name
 
	 */
 
	/** Return driver name */
 
	const char *GetName() const override { return "cocoa"; }
 

	
 
	/* --- The following methods should be private, but can't be due to Obj-C limitations. --- */
 
@@ -98,67 +69,30 @@ public:
 
	/** Main game loop. */
 
	void GameLoop(); // In event.mm.
 

	
 
	/** Resize the window.
 
	 * @return whether the window was successfully resized
 
	 */
 
	bool WindowResized();
 

	
 
	/** Convert local coordinate to window server (CoreGraphics) coordinate
 
	 * @param p local coordinates
 
	 * @return window driver coordinates
 
	 */
 
	CGPoint PrivateLocalToCG(NSPoint *p);
 

	
 
protected:
 
	Dimension GetScreenSize() const override;
 

	
 
private:
 
	NSPoint GetMouseLocation(NSEvent *event);
 
	bool MouseIsInsideView(NSPoint *pt);
 
	CGPoint PrivateLocalToCG(NSPoint *p);
 
	bool PollEvent(); // In event.mm.
 
	void MouseMovedEvent(int x, int y); // In event.mm.
 
	void WarpCursor(int x, int y); // In event.mm.
 

	
 
	void GameSizeChanged();
 
	void UpdateVideoModes();
 

	
 
	/**
 
	 * This function copies 8bpp pixels from the screen buffer in 32bpp windowed mode.
 
	 *
 
	 * @param left The x coord for the left edge of the box to blit.
 
	 * @param top The y coord for the top edge of the box to blit.
 
	 * @param right The x coord for the right edge of the box to blit.
 
	 * @param bottom The y coord for the bottom edge of the box to blit.
 
	 */
 
	void BlitIndexedToView32(int left, int top, int right, int bottom);
 
	bool IsFullscreen();
 
	void GameSizeChanged();
 

	
 
	void UpdateVideoModes();
 
	void GetDeviceInfo();
 
	bool SetVideoMode(int width, int height, int bpp);
 

	
 
	/** Draw window
 
	 * @param force_update Whether to redraw unconditionally
 
	 */
 
	void Draw(bool force_update = false);
 

	
 
	/** Update the palette */
 
	void UpdatePalette(uint first_color, uint num_colors);
 

	
 
	/** Are we in fullscreen mode
 
	 * @return whether fullscreen mode is currently used
 
	 */
 
	bool IsFullscreen();
 
	void CheckPaletteAnim();
 

	
 
	/** Return the mouse location
 
	 * @param event UI event
 
	 * @return mouse location as NSPoint
 
	 */
 
	NSPoint GetMouseLocation(NSEvent *event);
 

	
 
	/** Return whether the mouse is within our view
 
	 * @param pt Mouse coordinates
 
	 * @return Whether mouse coordinates are within view
 
	 */
 
	bool MouseIsInsideView(NSPoint *pt);
 

	
 
	void CheckPaletteAnim();
 
	void Draw(bool force_update = false);
 
	void BlitIndexedToView32(int left, int top, int right, int bottom);
 
};
 

	
 
class FVideoDriver_Cocoa : public DriverFactoryBase {
src/video/cocoa/cocoa_v.mm
Show inline comments
 
@@ -406,6 +406,10 @@ void VideoDriver_Cocoa::GetDeviceInfo()
 
	CGDisplayModeRelease(cur_mode);
 
}
 

	
 
/**
 
 * Are we in fullscreen mode
 
 * @return whether fullscreen mode is currently used
 
 */
 
bool VideoDriver_Cocoa::IsFullscreen()
 
{
 
	return this->window != nil && ([ this->window styleMask ] & NSWindowStyleMaskFullScreen) != 0;
 
@@ -524,6 +528,14 @@ bool VideoDriver_Cocoa::SetVideoMode(int
 
	return ret;
 
}
 

	
 
/**
 
 * This function copies 8bpp pixels from the screen buffer in 32bpp windowed mode.
 
 *
 
 * @param left The x coord for the left edge of the box to blit.
 
 * @param top The y coord for the top edge of the box to blit.
 
 * @param right The x coord for the right edge of the box to blit.
 
 * @param bottom The y coord for the bottom edge of the box to blit.
 
 */
 
void VideoDriver_Cocoa::BlitIndexedToView32(int left, int top, int right, int bottom)
 
{
 
	const uint32 *pal   = this->palette;
 
@@ -539,7 +551,9 @@ void VideoDriver_Cocoa::BlitIndexedToVie
 
	}
 
}
 

	
 

	
 
/** Draw window
 
 * @param force_update Whether to redraw unconditionally
 
 */
 
void VideoDriver_Cocoa::Draw(bool force_update)
 
{
 
	PerformanceMeasurer framerate(PFE_VIDEO);
 
@@ -582,6 +596,7 @@ void VideoDriver_Cocoa::Draw(bool force_
 
	this->num_dirty_rects = 0;
 
}
 

	
 
/** Update the palette */
 
void VideoDriver_Cocoa::UpdatePalette(uint first_color, uint num_colors)
 
{
 
	if (this->buffer_depth != 8) return;
 
@@ -597,7 +612,11 @@ void VideoDriver_Cocoa::UpdatePalette(ui
 
	this->num_dirty_rects = lengthof(this->dirty_rects);
 
}
 

	
 
/* Convert local coordinate to window server (CoreGraphics) coordinate */
 
/**
 
 * Convert local coordinate to window server (CoreGraphics) coordinate
 
 * @param p local coordinates
 
 * @return window driver coordinates
 
 */
 
CGPoint VideoDriver_Cocoa::PrivateLocalToCG(NSPoint *p)
 
{
 

	
 
@@ -614,6 +633,11 @@ CGPoint VideoDriver_Cocoa::PrivateLocalT
 
	return cgp;
 
}
 

	
 
/**
 
 * Return the mouse location
 
 * @param event UI event
 
 * @return mouse location as NSPoint
 
 */
 
NSPoint VideoDriver_Cocoa::GetMouseLocation(NSEvent *event)
 
{
 
	NSPoint pt;
 
@@ -629,6 +653,11 @@ NSPoint VideoDriver_Cocoa::GetMouseLocat
 
	return pt;
 
}
 

	
 
/**
 
 * Return whether the mouse is within our view
 
 * @param pt Mouse coordinates
 
 * @return Whether mouse coordinates are within view
 
 */
 
bool VideoDriver_Cocoa::MouseIsInsideView(NSPoint *pt)
 
{
 
	return [ cocoaview mouse:*pt inRect:[ this->cocoaview bounds ] ];
 
@@ -645,6 +674,10 @@ static void ClearWindowBuffer(uint32 *bu
 
	}
 
}
 

	
 
/**
 
 * Resize the window.
 
 * @return whether the window was successfully resized
 
 */
 
bool VideoDriver_Cocoa::WindowResized()
 
{
 
	if (this->window == nil || this->cocoaview == nil) return true;
0 comments (0 inline, 0 general)