Public Member Functions

NSViewComponent Class Reference

A Mac-specific class that can create and embed an NSView inside itself. More...

Inherits Component.

List of all members.

Public Member Functions

 NSViewComponent ()
 Create an initially-empty container.
 ~NSViewComponent ()
 Destructor.
void setView (void *nsView)
 Assigns an NSView to this peer.
void * getView () const
 Returns the current NSView.
void resizeToFitView ()
 Resizes this component to fit the view that it contains.
void paint (Graphics &g)
 Components can override this method to draw their content.

Detailed Description

A Mac-specific class that can create and embed an NSView inside itself.

To use it, create one of these, put it in place and make sure it's visible in a window, then use setView() to assign an NSView to it. The view will then be moved and resized to follow the movements of this component.

Of course, since the view is a native object, it'll obliterate any juce components that may overlap this component, but that's life.


Constructor & Destructor Documentation

NSViewComponent::NSViewComponent (  )

Create an initially-empty container.

NSViewComponent::~NSViewComponent (  )

Destructor.


Member Function Documentation

void NSViewComponent::setView ( void *  nsView )

Assigns an NSView to this peer.

The view will be retained and released by this component for as long as it is needed. To remove the current view, just call setView (nullptr).

Note: a void* is used here to avoid including the cocoa headers as part of the juce.h, but the method expects an NSView*.

void* NSViewComponent::getView (  ) const

Returns the current NSView.

Note: a void* is returned here to avoid including the cocoa headers as a requirement of juce.h, so you should just cast the object to an NSView*.

void NSViewComponent::resizeToFitView (  )

Resizes this component to fit the view that it contains.

void NSViewComponent::paint ( Graphics g ) [virtual]

Components can override this method to draw their content.

The paint() method gets called when a region of a component needs redrawing, either because the component's repaint() method has been called, or because something has happened on the screen that means a section of a window needs to be redrawn.

Any child components will draw themselves over whatever this method draws. If you need to paint over the top of your child components, you can also implement the paintOverChildren() method to do this.

If you want to cause a component to redraw itself, this is done asynchronously - calling the repaint() method marks a region of the component as "dirty", and the paint() method will automatically be called sometime later, by the message thread, to paint any bits that need refreshing. In Juce (and almost all modern UI frameworks), you never redraw something synchronously.

You should never need to call this method directly - to take a snapshot of the component you could use createComponentSnapshot() or paintEntireComponent().

Parameters:
gthe graphics context that must be used to do the drawing operations.
See also:
repaint, paintOverChildren, Graphics

Reimplemented from Component.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines