LMMS
Loading...
Searching...
No Matches
juce::XEmbedComponent::Pimpl Class Reference
Inheritance diagram for juce::XEmbedComponent::Pimpl:
juce::ComponentListener

Classes

struct  SharedKeyWindow

Public Member Functions

 Pimpl (XEmbedComponent &parent, Window x11Window, bool wantsKeyboardFocus, bool isClientInitiated, bool shouldAllowResize)
 ~Pimpl () override
void setClient (Window xembedClient, bool shouldReparent)
void focusGained (FocusChangeType changeType)
void focusLost (FocusChangeType)
void broughtToFront ()
unsigned long getHostWindowID ()
void updateEmbeddedBounds ()

Private Member Functions

void componentParentHierarchyChanged (Component &) override
void componentMovedOrResized (Component &, bool, bool) override
void createHostWindow ()
void removeClient ()
void updateMapping ()
Window getParentX11Window ()
Display * getDisplay ()
bool getXEmbedMappedFlag ()
void propertyChanged (const Atom &a)
void configureNotify ()
void peerChanged (ComponentPeer *newPeer)
void updateKeyFocus ()
void handleXembedCmd (const ::Time &, long opcode, long, long, long)
bool handleX11Event (const XEvent &e)
void sendXEmbedEvent (const ::Time &xTime, long opcode, long opcodeMinor=0, long data1=0, long data2=0)
Rectangle< intgetX11BoundsFromJuce ()
Private Member Functions inherited from juce::ComponentListener
virtual ~ComponentListener ()=default
virtual void componentBroughtToFront (Component &component)
virtual void componentVisibilityChanged (Component &component)
virtual void componentChildrenChanged (Component &component)
virtual void componentNameChanged (Component &component)
virtual void componentBeingDeleted (Component &component)
virtual void componentEnablementChanged (Component &component)

Static Private Member Functions

static Array< Pimpl * > & getWidgets ()
static bool dispatchX11Event (ComponentPeer *p, const XEvent *eventArg)
static Window getCurrentFocusWindow (ComponentPeer *p)

Private Attributes

XEmbedComponent & owner
Window client = 0
Window host = 0
Atom infoAtom
Atom messageTypeAtom
bool clientInitiated
bool wantsFocus = false
bool allowResize = false
bool supportsXembed = false
bool hasBeenMapped = false
int xembedVersion = maxXEmbedVersionToSupport
ComponentPeerlastPeer = nullptr
SharedKeyWindow::Ptr keyWindow

Friends

bool juce::juce_handleXEmbedEvent (ComponentPeer *, void *)
unsigned long juce::juce_getCurrentFocusWindow (ComponentPeer *)

Constructor & Destructor Documentation

◆ Pimpl()

juce::XEmbedComponent::Pimpl::Pimpl ( XEmbedComponent & parent,
Window x11Window,
bool wantsKeyboardFocus,
bool isClientInitiated,
bool shouldAllowResize )
inline

◆ ~Pimpl()

juce::XEmbedComponent::Pimpl::~Pimpl ( )
inlineoverride

Member Function Documentation

◆ broughtToFront()

void juce::XEmbedComponent::Pimpl::broughtToFront ( )
inline

◆ componentMovedOrResized()

void juce::XEmbedComponent::Pimpl::componentMovedOrResized ( Component & component,
bool wasMoved,
bool wasResized )
inlineoverrideprivatevirtual

Called when the component's position or size changes.

Parameters
componentthe component that was moved or resized
wasMovedtrue if the component's top-left corner has just moved
wasResizedtrue if the component's width or height has just changed
See also
Component::setBounds, Component::resized, Component::moved

Reimplemented from juce::ComponentListener.

◆ componentParentHierarchyChanged()

void juce::XEmbedComponent::Pimpl::componentParentHierarchyChanged ( Component & component)
inlineoverrideprivatevirtual

Called to indicate that the component's parents have changed.

When a component is added or removed from its parent, all of its children will produce this notification (recursively - so all children of its children will also be called as well).

Parameters
componentthe component that this listener is registered with
See also
Component::parentHierarchyChanged

Reimplemented from juce::ComponentListener.

◆ configureNotify()

void juce::XEmbedComponent::Pimpl::configureNotify ( )
inlineprivate

◆ createHostWindow()

void juce::XEmbedComponent::Pimpl::createHostWindow ( )
inlineprivate

◆ dispatchX11Event()

bool juce::XEmbedComponent::Pimpl::dispatchX11Event ( ComponentPeer * p,
const XEvent * eventArg )
inlinestaticprivate

◆ focusGained()

void juce::XEmbedComponent::Pimpl::focusGained ( FocusChangeType changeType)
inline

◆ focusLost()

void juce::XEmbedComponent::Pimpl::focusLost ( FocusChangeType )
inline

◆ getCurrentFocusWindow()

Window juce::XEmbedComponent::Pimpl::getCurrentFocusWindow ( ComponentPeer * p)
inlinestaticprivate

◆ getDisplay()

Display * juce::XEmbedComponent::Pimpl::getDisplay ( )
inlineprivate

◆ getHostWindowID()

unsigned long juce::XEmbedComponent::Pimpl::getHostWindowID ( )
inline

◆ getParentX11Window()

Window juce::XEmbedComponent::Pimpl::getParentX11Window ( )
inlineprivate

◆ getWidgets()

Array< Pimpl * > & juce::XEmbedComponent::Pimpl::getWidgets ( )
inlinestaticprivate

◆ getX11BoundsFromJuce()

Rectangle< int > juce::XEmbedComponent::Pimpl::getX11BoundsFromJuce ( )
inlineprivate

◆ getXEmbedMappedFlag()

bool juce::XEmbedComponent::Pimpl::getXEmbedMappedFlag ( )
inlineprivate

◆ handleX11Event()

bool juce::XEmbedComponent::Pimpl::handleX11Event ( const XEvent & e)
inlineprivate

◆ handleXembedCmd()

void juce::XEmbedComponent::Pimpl::handleXembedCmd ( const ::Time & ,
long opcode,
long ,
long ,
long  )
inlineprivate

◆ peerChanged()

void juce::XEmbedComponent::Pimpl::peerChanged ( ComponentPeer * newPeer)
inlineprivate

◆ propertyChanged()

void juce::XEmbedComponent::Pimpl::propertyChanged ( const Atom & a)
inlineprivate

◆ removeClient()

void juce::XEmbedComponent::Pimpl::removeClient ( )
inlineprivate

◆ sendXEmbedEvent()

void juce::XEmbedComponent::Pimpl::sendXEmbedEvent ( const ::Time & xTime,
long opcode,
long opcodeMinor = 0,
long data1 = 0,
long data2 = 0 )
inlineprivate

◆ setClient()

void juce::XEmbedComponent::Pimpl::setClient ( Window xembedClient,
bool shouldReparent )
inline

◆ updateEmbeddedBounds()

void juce::XEmbedComponent::Pimpl::updateEmbeddedBounds ( )
inline

◆ updateKeyFocus()

void juce::XEmbedComponent::Pimpl::updateKeyFocus ( )
inlineprivate

◆ updateMapping()

void juce::XEmbedComponent::Pimpl::updateMapping ( )
inlineprivate

◆ juce::juce_getCurrentFocusWindow

unsigned long juce::juce_getCurrentFocusWindow ( ComponentPeer * )
friend

◆ juce::juce_handleXEmbedEvent

bool juce::juce_handleXEmbedEvent ( ComponentPeer * ,
void *  )
friend

Member Data Documentation

◆ allowResize

bool juce::XEmbedComponent::Pimpl::allowResize = false
private

◆ client

Window juce::XEmbedComponent::Pimpl::client = 0
private

◆ clientInitiated

bool juce::XEmbedComponent::Pimpl::clientInitiated
private

◆ hasBeenMapped

bool juce::XEmbedComponent::Pimpl::hasBeenMapped = false
private

◆ host

Window juce::XEmbedComponent::Pimpl::host = 0
private

◆ infoAtom

Atom juce::XEmbedComponent::Pimpl::infoAtom
private

◆ keyWindow

SharedKeyWindow::Ptr juce::XEmbedComponent::Pimpl::keyWindow
private

◆ lastPeer

ComponentPeer* juce::XEmbedComponent::Pimpl::lastPeer = nullptr
private

◆ messageTypeAtom

Atom juce::XEmbedComponent::Pimpl::messageTypeAtom
private

◆ owner

XEmbedComponent& juce::XEmbedComponent::Pimpl::owner
private

◆ supportsXembed

bool juce::XEmbedComponent::Pimpl::supportsXembed = false
private

◆ wantsFocus

bool juce::XEmbedComponent::Pimpl::wantsFocus = false
private

◆ xembedVersion

int juce::XEmbedComponent::Pimpl::xembedVersion = maxXEmbedVersionToSupport
private

The documentation for this class was generated from the following file: