Sha256: dd1dc096838098dd730c9943ece50fd7e29ec52c1cb170d312d433ea61ceb2e7

Contents?: true

Size: 884 Bytes

Versions: 8

Compression:

Stored size: 884 Bytes

Contents

// -*- mode: objc -*-
#include "screen.h"


#include "reflex/exception.h"


namespace Reflex
{


	struct Screen::Data
	{

		NSScreen* screen = nil;

		~Data ()
		{
			if (screen) [screen release];
		}

	};// Screen::Data


	CGFloat
	primary_screen_height ()
	{
		return NSScreen.screens.firstObject.frame.size.height;
	}

	void
	Screen_initialize (Screen* pthis, NSScreen* screen)
	{
		pthis->self->screen = [screen retain];
	}


	Screen::Screen ()
	{
	}

	Screen::~Screen ()
	{
	}

	Bounds
	Screen::frame () const
	{
		if (!*this)
			invalid_state_error(__FILE__, __LINE__);

		NSRect f = self->screen.frame;
		return Bounds(
			f.origin.x,
			primary_screen_height() - (f.origin.y + f.size.height),
			f.size.width,
			f.size.height);
	}

	Screen::operator bool () const
	{
		return self->screen;
	}

	bool
	Screen::operator ! () const
	{
		return !operator bool();
	}


}// Reflex

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
reflexion-0.3.4 src/osx/screen.mm
reflexion-0.3.3 src/osx/screen.mm
reflexion-0.3.2 src/osx/screen.mm
reflexion-0.3.1 src/osx/screen.mm
reflexion-0.3 src/osx/screen.mm
reflexion-0.2.1 src/osx/screen.mm
reflexion-0.2 src/osx/screen.mm
reflexion-0.1.57 src/osx/screen.mm