LMMS
Loading...
Searching...
No Matches
juce::HWNDComponentPeer Class Reference
Inheritance diagram for juce::HWNDComponentPeer:
juce::ComponentPeer juce::Timer juce::FocusChangeListener

Classes

struct  FileDropTarget
struct  TemporaryImage
class  WindowClassHolder
struct  ChildWindowClippingInfo
struct  IMEHandler
class  TopLevelModalDismissBroadcaster

Public Types

enum  RenderingEngineType { softwareRenderingEngine = 0 , direct2DRenderingEngine }
Public Types inherited from juce::ComponentPeer
enum  StyleFlags {
  windowAppearsOnTaskbar = (1 << 0) , windowIsTemporary = (1 << 1) , windowIgnoresMouseClicks = (1 << 2) , windowHasTitleBar = (1 << 3) ,
  windowIsResizable = (1 << 4) , windowHasMinimiseButton = (1 << 5) , windowHasMaximiseButton = (1 << 6) , windowHasCloseButton = (1 << 7) ,
  windowHasDropShadow = (1 << 8) , windowRepaintedExplictly = (1 << 9) , windowIgnoresKeyPresses = (1 << 10) , windowRequiresSynchronousCoreGraphicsRendering = (1 << 11) ,
  windowIsSemiTransparent = (1 << 30)
}
enum class  Style { automatic , light , dark }

Public Member Functions

 HWNDComponentPeer (Component &comp, int windowStyleFlags, HWND parent, bool nonRepainting)
 ~HWNDComponentPeer () override
voidgetNativeHandle () const override
void setVisible (bool shouldBeVisible) override
void setTitle (const String &title) override
void repaintNowIfTransparent ()
void updateBorderSize ()
void setBounds (const Rectangle< int > &bounds, bool isNowFullScreen) override
Rectangle< intgetBounds () const override
Point< intgetScreenPosition () const
Point< float > localToGlobal (Point< float > relativePosition) override
Point< float > globalToLocal (Point< float > screenPosition) override
void setAlpha (float newAlpha) override
void setMinimised (bool shouldBeMinimised) override
bool isMinimised () const override
void setFullScreen (bool shouldBeFullScreen) override
bool isFullScreen () const override
bool contains (Point< int > localPos, bool trueIfInAChildWindow) const override
OptionalBorderSize getFrameSizeIfPresent () const override
BorderSize< intgetFrameSize () const override
bool setAlwaysOnTop (bool alwaysOnTop) override
void toFront (bool makeActive) override
void toBehind (ComponentPeer *other) override
bool isFocused () const override
void grabFocus () override
void textInputRequired (Point< int >, TextInputTarget &) override
void closeInputMethodContext () override
void dismissPendingTextInput () override
void repaint (const Rectangle< int > &area) override
void dispatchDeferredRepaints ()
void performAnyPendingRepaintsNow () override
bool isInside (HWND h) const noexcept
double getPlatformScaleFactor () const noexcept override
Point< intlocalToGlobal (Point< int > relativePosition)
virtual Rectangle< intlocalToGlobal (const Rectangle< int > &relativePosition)
Rectangle< float > localToGlobal (const Rectangle< float > &relativePosition)
Point< intglobalToLocal (Point< int > screenPosition)
virtual Rectangle< intglobalToLocal (const Rectangle< int > &screenPosition)
Rectangle< float > globalToLocal (const Rectangle< float > &screenPosition)
Public Member Functions inherited from juce::ComponentPeer
 ComponentPeer (Component &component, int styleFlags)
 ~ComponentPeer () override
ComponentgetComponent () noexcept
int getStyleFlags () const noexcept
uint32 getUniqueID () const noexcept
virtual bool setDocumentEditedStatus (bool edited)
virtual void setRepresentedFile (const File &)
void updateBounds ()
Point< intlocalToGlobal (Point< int > relativePosition)
Point< intglobalToLocal (Point< int > screenPosition)
Rectangle< float > localToGlobal (const Rectangle< float > &relativePosition)
Rectangle< float > globalToLocal (const Rectangle< float > &screenPosition)
Rectangle< intgetAreaCoveredBy (const Component &subComponent) const
virtual bool isKioskMode () const
void setNonFullScreenBounds (const Rectangle< int > &newBounds) noexcept
const Rectangle< int > & getNonFullScreenBounds () const noexcept
void setConstrainer (ComponentBoundsConstrainer *newConstrainer) noexcept
ComponentBoundsConstrainergetConstrainer () const noexcept
void handleMovedOrResized ()
virtual void handleScreenSizeChange ()
void handlePaint (LowLevelGraphicsContext &contextToPaintTo)
void handleBroughtToFront ()
void handleFocusGain ()
void handleFocusLoss ()
ComponentgetLastFocusedSubcomponent () const noexcept
bool handleKeyPress (int keyCode, juce_wchar textCharacter)
bool handleKeyPress (const KeyPress &key)
bool handleKeyUpOrDown (bool isKeyDown)
void handleModifierKeysChange ()
void refreshTextInputTarget ()
TextInputTargetfindCurrentTextInputTarget ()
void handleMouseEvent (MouseInputSource::InputSourceType type, Point< float > positionWithinPeer, ModifierKeys newMods, float pressure, float orientation, int64 time, PenDetails pen={}, int touchIndex=0)
void handleMouseWheel (MouseInputSource::InputSourceType type, Point< float > positionWithinPeer, int64 time, const MouseWheelDetails &, int touchIndex=0)
void handleMagnifyGesture (MouseInputSource::InputSourceType type, Point< float > positionWithinPeer, int64 time, float scaleFactor, int touchIndex=0)
void handleUserClosingWindow ()
bool handleDragMove (const DragInfo &)
bool handleDragExit (const DragInfo &)
bool handleDragDrop (const DragInfo &)
void addScaleFactorListener (ScaleFactorListener *listenerToAdd)
void removeScaleFactorListener (ScaleFactorListener *listenerToRemove)
virtual void setHasChangedSinceSaved (bool)
void setAppStyle (Style s)
Style getAppStyle () const

Static Public Member Functions

static HWNDComponentPeergetOwnerOfWindow (HWND h) noexcept
static bool isKeyDown (const int key) noexcept
static void updateKeyModifiers () noexcept
static void updateModifiersFromWParam (const WPARAM wParam)
static bool offerKeyMessageToJUCEWindow (MSG &m)
static LRESULT CALLBACK windowProc (HWND h, UINT message, WPARAM wParam, LPARAM lParam)
Static Public Member Functions inherited from juce::ComponentPeer
static int getNumPeers () noexcept
static ComponentPeergetPeer (int index) noexcept
static ComponentPeergetPeerFor (const Component *) noexcept
static bool isValidPeer (const ComponentPeer *peer) noexcept
static ModifierKeys getCurrentModifiersRealtime () noexcept

Public Attributes

bool dontRepaint

Static Public Attributes

static ModifierKeys modifiersAtLastCallback

Private Member Functions

void createWindow ()
bool isUsingUpdateLayeredWindow () const
bool hasTitleBar () const noexcept
void updateShadower ()
void setIcon (const Image &newIcon) override
void setMessageFilter ()
void handlePaintMessage ()
void performPaint (HDC dc, HRGN rgn, int regionType, PAINTSTRUCT &paintStruct)
void doMouseEvent (Point< float > position, float pressure, float orientation=0.0f, ModifierKeys mods=ModifierKeys::currentModifiers)
StringArray getAvailableRenderingEngines () override
int getCurrentRenderingEngine () const override
void setCurrentRenderingEngine (int index) override
bool isTouchEvent () noexcept
void doMouseMove (Point< float > position, bool isMouseDownEvent)
void doMouseDown (Point< float > position, const WPARAM wParam)
void doMouseUp (Point< float > position, const WPARAM wParam)
void doCaptureChanged ()
void doMouseExit ()
ComponentPeerfindPeerUnderMouse (Point< float > &localPos)
void doMouseWheel (const WPARAM wParam, const bool isVertical)
bool doGestureEvent (LPARAM lParam)
LRESULT doTouchEvent (const int numInputs, HTOUCHINPUT eventHandle)
bool handleTouchInput (const TOUCHINPUT &touch, const bool isDown, const bool isUp, const float touchPressure=MouseInputSource::defaultPressure, const float orientation=0.0f)
bool handlePointerInput (WPARAM wParam, LPARAM lParam, const bool isDown, const bool isUp)
TOUCHINPUT emulateTouchEventFromPointer (POINT p, WPARAM wParam)
bool handlePenInput (POINTER_PEN_INFO penInfo, Point< float > pos, const float pressure, bool isDown, bool isUp)
void sendModifierKeyChangeIfNeeded ()
bool doKeyUp (const WPARAM key)
bool doKeyDown (const WPARAM key)
bool doKeyChar (int key, const LPARAM flags)
void forwardMessageToParent (UINT message, WPARAM wParam, LPARAM lParam) const
bool doAppCommand (const LPARAM lParam)
bool isConstrainedNativeWindow () const
Rectangle< intgetCurrentScaledBounds () const
LRESULT handleSizeConstraining (RECT &r, const WPARAM wParam)
LRESULT handlePositionChanging (WINDOWPOS &wp)
bool updateCurrentMonitor ()
bool handlePositionChanged ()
LRESULT handleDPIChanging (int newDPI, RECT newRect)
void handleAppActivation (const WPARAM wParam)
void handlePowerBroadcast (WPARAM wParam)
void handleLeftClickInNCArea (WPARAM wParam)
void initialiseSysMenu (HMENU menu) const
void doSettingChange ()
Point< float > getPointFromLocalLParam (LPARAM lParam) noexcept
Point< float > getCurrentMousePos () noexcept
LRESULT peerWindowProc (HWND h, UINT message, WPARAM wParam, LPARAM lParam)
bool sendInputAttemptWhenModalMessage ()
void timerCallback () override
void windowShouldDismissModals (HWND originator)
Private Member Functions inherited from juce::Timer
virtual ~Timer ()
void startTimer (int intervalInMilliseconds) noexcept
void startTimerHz (int timerFrequencyHz) noexcept
void stopTimer () noexcept
bool isTimerRunning () const noexcept
int getTimerInterval () const noexcept
 Timer () noexcept
 Timer (const Timer &) noexcept

Static Private Member Functions

static voidcreateWindowCallback (void *userData)
static BOOL CALLBACK revokeChildDragDropCallback (HWND hwnd, LPARAM)
static voiddestroyWindowCallback (void *handle)
static voidtoFrontCallback1 (void *h)
static voidtoFrontCallback2 (void *h)
static voidsetFocusCallback (void *h)
static voidgetFocusCallback (void *)
static BOOL CALLBACK clipChildWindowCallback (HWND hwnd, LPARAM context)
static uint32 getMinTimeBetweenMouseMoves ()
static bool areOtherTouchSourcesActive ()
static MouseInputSource::InputSourceType getPointerType (WPARAM wParam)
static voidcallFunctionIfNotLocked (MessageCallbackFunction *callback, void *userData)
static POINT getPOINTFromLParam (LPARAM lParam) noexcept
static bool isAncestor (HWND outer, HWND inner)
Static Private Member Functions inherited from juce::Timer
static void JUCE_CALLTYPE callAfterDelay (int milliseconds, std::function< void()> functionToCall)
static void JUCE_CALLTYPE callPendingTimersSynchronously ()

Private Attributes

HWND hwnd
HWND parentToAddTo
std::unique_ptr< DropShadowershadower
RenderingEngineType currentRenderingEngine
uint32 lastPaintTime = 0
ULONGLONG lastMagnifySize = 0
bool fullScreen = false
bool isDragging = false
bool isMouseOver = false
bool hasCreatedCaret = false
bool constrainerIsResizing = false
BorderSize< intwindowBorder
HICON currentWindowIcon = nullptr
FileDropTargetdropTarget = nullptr
uint8 updateLayeredWindowAlpha = 255
UWPUIViewSettings uwpViewSettings
double scaleFactor = 1.0
bool inDpiChange = 0
bool inHandlePositionChanged = 0
HMONITOR currentMonitor = nullptr
bool isAccessibilityActive = false
TemporaryImage offscreenImageGenerator
SharedResourcePointer< TopLevelModalDismissBroadcastermodalDismissBroadcaster
IMEHandler imeHandler
bool shouldIgnoreModalDismiss = false
RectangleList< intdeferredRepaints

Static Private Attributes

static MultiTouchMapper< DWORDcurrentTouches

Additional Inherited Members

Static Protected Member Functions inherited from juce::ComponentPeer
static void forceDisplayUpdate ()
Protected Attributes inherited from juce::ComponentPeer
Componentcomponent
const int styleFlags
Rectangle< intlastNonFullscreenBounds
ComponentBoundsConstrainerconstrainer = nullptr
ListenerList< ScaleFactorListenerscaleFactorListeners
Style style = Style::automatic
Static Protected Attributes inherited from juce::ComponentPeer
static std::function< ModifierKeys()> getNativeRealtimeModifiers = nullptr

Member Enumeration Documentation

◆ RenderingEngineType

enum juce::HWNDComponentPeer::RenderingEngineType
Enumerator
softwareRenderingEngine 
direct2DRenderingEngine 

Constructor & Destructor Documentation

◆ HWNDComponentPeer()

juce::HWNDComponentPeer::HWNDComponentPeer ( Component & comp,
int windowStyleFlags,
HWND parent,
bool nonRepainting )
inline

◆ ~HWNDComponentPeer()

juce::HWNDComponentPeer::~HWNDComponentPeer ( )
inlineoverride

Member Function Documentation

◆ areOtherTouchSourcesActive()

bool juce::HWNDComponentPeer::areOtherTouchSourcesActive ( )
inlinestaticprivate

◆ callFunctionIfNotLocked()

void * juce::HWNDComponentPeer::callFunctionIfNotLocked ( MessageCallbackFunction * callback,
void * userData )
inlinestaticprivate

◆ clipChildWindowCallback()

BOOL CALLBACK juce::HWNDComponentPeer::clipChildWindowCallback ( HWND hwnd,
LPARAM context )
inlinestaticprivate

◆ closeInputMethodContext()

void juce::HWNDComponentPeer::closeInputMethodContext ( )
inlineoverridevirtual

If there's a currently active input-method context - i.e. characters are being composed using multiple keystrokes - this should commit the current state of the context to the text and clear the context. This should not hide the virtual keyboard.

Reimplemented from juce::ComponentPeer.

◆ contains()

bool juce::HWNDComponentPeer::contains ( Point< int > localPos,
bool trueIfInAChildWindow ) const
inlineoverridevirtual

Checks if a point is in the window.

The position is relative to the top-left of this window, in unscaled peer coordinates. If trueIfInAChildWindow is false, then this returns false if the point is actually inside a child of this window.

Implements juce::ComponentPeer.

◆ createWindow()

void juce::HWNDComponentPeer::createWindow ( )
inlineprivate

◆ createWindowCallback()

void * juce::HWNDComponentPeer::createWindowCallback ( void * userData)
inlinestaticprivate

◆ destroyWindowCallback()

void * juce::HWNDComponentPeer::destroyWindowCallback ( void * handle)
inlinestaticprivate

◆ dismissPendingTextInput()

void juce::HWNDComponentPeer::dismissPendingTextInput ( )
inlineoverridevirtual

If there's some kind of OS input-method in progress, this should dismiss it.

Overrides of this function should call closeInputMethodContext().

This function should not be called directly by Components - use refreshTextInputTarget instead.

Reimplemented from juce::ComponentPeer.

◆ dispatchDeferredRepaints()

void juce::HWNDComponentPeer::dispatchDeferredRepaints ( )
inline

◆ doAppCommand()

bool juce::HWNDComponentPeer::doAppCommand ( const LPARAM lParam)
inlineprivate

◆ doCaptureChanged()

void juce::HWNDComponentPeer::doCaptureChanged ( )
inlineprivate

◆ doGestureEvent()

bool juce::HWNDComponentPeer::doGestureEvent ( LPARAM lParam)
inlineprivate

◆ doKeyChar()

bool juce::HWNDComponentPeer::doKeyChar ( int key,
const LPARAM flags )
inlineprivate

◆ doKeyDown()

bool juce::HWNDComponentPeer::doKeyDown ( const WPARAM key)
inlineprivate

◆ doKeyUp()

bool juce::HWNDComponentPeer::doKeyUp ( const WPARAM key)
inlineprivate

◆ doMouseDown()

void juce::HWNDComponentPeer::doMouseDown ( Point< float > position,
const WPARAM wParam )
inlineprivate

◆ doMouseEvent()

void juce::HWNDComponentPeer::doMouseEvent ( Point< float > position,
float pressure,
float orientation = 0.0f,
ModifierKeys mods = ModifierKeys::currentModifiers )
inlineprivate

◆ doMouseExit()

void juce::HWNDComponentPeer::doMouseExit ( )
inlineprivate

◆ doMouseMove()

void juce::HWNDComponentPeer::doMouseMove ( Point< float > position,
bool isMouseDownEvent )
inlineprivate

◆ doMouseUp()

void juce::HWNDComponentPeer::doMouseUp ( Point< float > position,
const WPARAM wParam )
inlineprivate

◆ doMouseWheel()

void juce::HWNDComponentPeer::doMouseWheel ( const WPARAM wParam,
const bool isVertical )
inlineprivate

◆ doSettingChange()

void juce::HWNDComponentPeer::doSettingChange ( )
inlineprivate

◆ doTouchEvent()

LRESULT juce::HWNDComponentPeer::doTouchEvent ( const int numInputs,
HTOUCHINPUT eventHandle )
inlineprivate

◆ emulateTouchEventFromPointer()

TOUCHINPUT juce::HWNDComponentPeer::emulateTouchEventFromPointer ( POINT p,
WPARAM wParam )
inlineprivate

◆ findPeerUnderMouse()

ComponentPeer * juce::HWNDComponentPeer::findPeerUnderMouse ( Point< float > & localPos)
inlineprivate

◆ forwardMessageToParent()

void juce::HWNDComponentPeer::forwardMessageToParent ( UINT message,
WPARAM wParam,
LPARAM lParam ) const
inlineprivate

◆ getAvailableRenderingEngines()

StringArray juce::HWNDComponentPeer::getAvailableRenderingEngines ( )
inlineoverrideprivatevirtual

Implements juce::ComponentPeer.

◆ getBounds()

Rectangle< int > juce::HWNDComponentPeer::getBounds ( ) const
inlineoverridevirtual

Returns the current position and size of the window.

If the native window is contained in another window, then the coordinates are relative to the parent window's origin, not the screen origin.

Implements juce::ComponentPeer.

◆ getCurrentMousePos()

Point< float > juce::HWNDComponentPeer::getCurrentMousePos ( )
inlineprivatenoexcept

◆ getCurrentRenderingEngine()

int juce::HWNDComponentPeer::getCurrentRenderingEngine ( ) const
inlineoverrideprivatevirtual

Reimplemented from juce::ComponentPeer.

◆ getCurrentScaledBounds()

Rectangle< int > juce::HWNDComponentPeer::getCurrentScaledBounds ( ) const
inlineprivate

◆ getFocusCallback()

void * juce::HWNDComponentPeer::getFocusCallback ( void * )
inlinestaticprivate

◆ getFrameSize()

BorderSize< int > juce::HWNDComponentPeer::getFrameSize ( ) const
inlineoverridevirtual

Returns the size of the window frame that's around this window. Whether or not the window has a normal window frame depends on the flags that were set when the window was created by Component::addToDesktop()

Implements juce::ComponentPeer.

◆ getFrameSizeIfPresent()

OptionalBorderSize juce::HWNDComponentPeer::getFrameSizeIfPresent ( ) const
inlineoverridevirtual

Returns the size of the window frame that's around this window.

Depending on the platform the border size may be invalid for a short transient after creating a new window. Hence the returned value must be checked using operator bool() and the contained value can be accessed using operator*() only if it is present.

Whether or not the window has a normal window frame depends on the flags that were set when the window was created by Component::addToDesktop()

Implements juce::ComponentPeer.

◆ getMinTimeBetweenMouseMoves()

uint32 juce::HWNDComponentPeer::getMinTimeBetweenMouseMoves ( )
inlinestaticprivate

◆ getNativeHandle()

void * juce::HWNDComponentPeer::getNativeHandle ( ) const
inlineoverridevirtual

Returns the raw handle to whatever kind of window is being used.

On windows, this is probably a HWND, on the mac, it's likely to be a WindowRef, but remember there's no guarantees what you'll get back.

Implements juce::ComponentPeer.

◆ getOwnerOfWindow()

HWNDComponentPeer * juce::HWNDComponentPeer::getOwnerOfWindow ( HWND h)
inlinestaticnoexcept

◆ getPlatformScaleFactor()

double juce::HWNDComponentPeer::getPlatformScaleFactor ( ) const
inlineoverridevirtualnoexcept

On Windows and Linux this will return the OS scaling factor currently being applied to the native window. This is used to convert between physical and logical pixels at the OS API level and you shouldn't need to use it in your own code unless you are dealing directly with the native window.

Reimplemented from juce::ComponentPeer.

◆ getPointerType()

MouseInputSource::InputSourceType juce::HWNDComponentPeer::getPointerType ( WPARAM wParam)
inlinestaticprivate

◆ getPointFromLocalLParam()

Point< float > juce::HWNDComponentPeer::getPointFromLocalLParam ( LPARAM lParam)
inlineprivatenoexcept

◆ getPOINTFromLParam()

POINT juce::HWNDComponentPeer::getPOINTFromLParam ( LPARAM lParam)
inlinestaticprivatenoexcept

◆ getScreenPosition()

Point< int > juce::HWNDComponentPeer::getScreenPosition ( ) const
inline

◆ globalToLocal() [1/4]

Rectangle< float > juce::ComponentPeer::globalToLocal ( const Rectangle< float > & screenPosition)

Converts a screen area to a position relative to the top-left of this component.

◆ globalToLocal() [2/4]

Rectangle< int > juce::ComponentPeer::globalToLocal ( const Rectangle< int > & screenPosition)
virtual

Converts a screen area to a position relative to the top-left of this component.

Reimplemented from juce::ComponentPeer.

◆ globalToLocal() [3/4]

Point< float > juce::HWNDComponentPeer::globalToLocal ( Point< float > screenPosition)
inlineoverridevirtual

Converts a screen coordinate to a position relative to the top-left of this component.

Implements juce::ComponentPeer.

◆ globalToLocal() [4/4]

Point< int > juce::ComponentPeer::globalToLocal ( Point< int > screenPosition)

Converts a screen coordinate to a position relative to the top-left of this component.

◆ grabFocus()

void juce::HWNDComponentPeer::grabFocus ( )
inlineoverridevirtual

Tries to give the window keyboard focus.

Implements juce::ComponentPeer.

◆ handleAppActivation()

void juce::HWNDComponentPeer::handleAppActivation ( const WPARAM wParam)
inlineprivate

◆ handleDPIChanging()

LRESULT juce::HWNDComponentPeer::handleDPIChanging ( int newDPI,
RECT newRect )
inlineprivate

◆ handleLeftClickInNCArea()

void juce::HWNDComponentPeer::handleLeftClickInNCArea ( WPARAM wParam)
inlineprivate

◆ handlePaintMessage()

void juce::HWNDComponentPeer::handlePaintMessage ( )
inlineprivate

◆ handlePenInput()

bool juce::HWNDComponentPeer::handlePenInput ( POINTER_PEN_INFO penInfo,
Point< float > pos,
const float pressure,
bool isDown,
bool isUp )
inlineprivate

◆ handlePointerInput()

bool juce::HWNDComponentPeer::handlePointerInput ( WPARAM wParam,
LPARAM lParam,
const bool isDown,
const bool isUp )
inlineprivate

◆ handlePositionChanged()

bool juce::HWNDComponentPeer::handlePositionChanged ( )
inlineprivate

◆ handlePositionChanging()

LRESULT juce::HWNDComponentPeer::handlePositionChanging ( WINDOWPOS & wp)
inlineprivate

◆ handlePowerBroadcast()

void juce::HWNDComponentPeer::handlePowerBroadcast ( WPARAM wParam)
inlineprivate

◆ handleSizeConstraining()

LRESULT juce::HWNDComponentPeer::handleSizeConstraining ( RECT & r,
const WPARAM wParam )
inlineprivate

◆ handleTouchInput()

bool juce::HWNDComponentPeer::handleTouchInput ( const TOUCHINPUT & touch,
const bool isDown,
const bool isUp,
const float touchPressure = MouseInputSource::defaultPressure,
const float orientation = 0.0f )
inlineprivate

◆ hasTitleBar()

bool juce::HWNDComponentPeer::hasTitleBar ( ) const
inlineprivatenoexcept

◆ initialiseSysMenu()

void juce::HWNDComponentPeer::initialiseSysMenu ( HMENU menu) const
inlineprivate

◆ isAncestor()

bool juce::HWNDComponentPeer::isAncestor ( HWND outer,
HWND inner )
inlinestaticprivate

◆ isConstrainedNativeWindow()

bool juce::HWNDComponentPeer::isConstrainedNativeWindow ( ) const
inlineprivate

◆ isFocused()

bool juce::HWNDComponentPeer::isFocused ( ) const
inlineoverridevirtual

True if the window has the keyboard focus.

Implements juce::ComponentPeer.

◆ isFullScreen()

bool juce::HWNDComponentPeer::isFullScreen ( ) const
inlineoverridevirtual

True if the window is currently full-screen.

Implements juce::ComponentPeer.

◆ isInside()

bool juce::HWNDComponentPeer::isInside ( HWND h) const
inlinenoexcept

◆ isKeyDown()

bool juce::HWNDComponentPeer::isKeyDown ( const int key)
inlinestaticnoexcept

◆ isMinimised()

bool juce::HWNDComponentPeer::isMinimised ( ) const
inlineoverridevirtual

True if the window is currently minimised.

Implements juce::ComponentPeer.

◆ isTouchEvent()

bool juce::HWNDComponentPeer::isTouchEvent ( )
inlineprivatenoexcept

◆ isUsingUpdateLayeredWindow()

bool juce::HWNDComponentPeer::isUsingUpdateLayeredWindow ( ) const
inlineprivate

◆ localToGlobal() [1/4]

Rectangle< float > juce::ComponentPeer::localToGlobal ( const Rectangle< float > & relativePosition)

Converts a rectangle relative to the top-left of this component to screen coordinates.

◆ localToGlobal() [2/4]

Rectangle< int > juce::ComponentPeer::localToGlobal ( const Rectangle< int > & relativePosition)
virtual

Converts a rectangle relative to the top-left of this component to screen coordinates.

Reimplemented from juce::ComponentPeer.

◆ localToGlobal() [3/4]

Point< float > juce::HWNDComponentPeer::localToGlobal ( Point< float > relativePosition)
inlineoverridevirtual

Converts a position relative to the top-left of this component to screen coordinates.

Implements juce::ComponentPeer.

◆ localToGlobal() [4/4]

Point< int > juce::ComponentPeer::localToGlobal ( Point< int > relativePosition)

Converts a position relative to the top-left of this component to screen coordinates.

◆ offerKeyMessageToJUCEWindow()

bool juce::HWNDComponentPeer::offerKeyMessageToJUCEWindow ( MSG & m)
inlinestatic

◆ peerWindowProc()

LRESULT juce::HWNDComponentPeer::peerWindowProc ( HWND h,
UINT message,
WPARAM wParam,
LPARAM lParam )
inlineprivate

◆ performAnyPendingRepaintsNow()

void juce::HWNDComponentPeer::performAnyPendingRepaintsNow ( )
inlineoverridevirtual

This can be called (from the message thread) to cause the immediate redrawing of any areas of this window that need repainting.

You shouldn't ever really need to use this, it's mainly for special purposes like supporting audio plugins where the host's event loop is out of our control.

Implements juce::ComponentPeer.

◆ performPaint()

void juce::HWNDComponentPeer::performPaint ( HDC dc,
HRGN rgn,
int regionType,
PAINTSTRUCT & paintStruct )
inlineprivate

◆ repaint()

void juce::HWNDComponentPeer::repaint ( const Rectangle< int > & area)
inlineoverridevirtual

Invalidates a region of the window to be repainted asynchronously.

Implements juce::ComponentPeer.

◆ repaintNowIfTransparent()

void juce::HWNDComponentPeer::repaintNowIfTransparent ( )
inline

◆ revokeChildDragDropCallback()

BOOL CALLBACK juce::HWNDComponentPeer::revokeChildDragDropCallback ( HWND hwnd,
LPARAM  )
inlinestaticprivate

◆ sendInputAttemptWhenModalMessage()

bool juce::HWNDComponentPeer::sendInputAttemptWhenModalMessage ( )
inlineprivate

◆ sendModifierKeyChangeIfNeeded()

void juce::HWNDComponentPeer::sendModifierKeyChangeIfNeeded ( )
inlineprivate

◆ setAlpha()

void juce::HWNDComponentPeer::setAlpha ( float newAlpha)
inlineoverridevirtual

Changes the window's transparency.

Implements juce::ComponentPeer.

◆ setAlwaysOnTop()

bool juce::HWNDComponentPeer::setAlwaysOnTop ( bool alwaysOnTop)
inlineoverridevirtual

Sets this window to either be always-on-top or normal. Some kinds of window might not be able to do this, so should return false.

Implements juce::ComponentPeer.

◆ setBounds()

void juce::HWNDComponentPeer::setBounds ( const Rectangle< int > & newBounds,
bool isNowFullScreen )
inlineoverridevirtual

Moves and resizes the window.

If the native window is contained in another window, then the coordinates are relative to the parent window's origin, not the screen origin.

This should result in a callback to handleMovedOrResized().

Implements juce::ComponentPeer.

◆ setCurrentRenderingEngine()

void juce::HWNDComponentPeer::setCurrentRenderingEngine ( int index)
inlineoverrideprivatevirtual

Reimplemented from juce::ComponentPeer.

◆ setFocusCallback()

void * juce::HWNDComponentPeer::setFocusCallback ( void * h)
inlinestaticprivate

◆ setFullScreen()

void juce::HWNDComponentPeer::setFullScreen ( bool shouldBeFullScreen)
inlineoverridevirtual

Enable/disable fullscreen mode for the window.

Implements juce::ComponentPeer.

◆ setIcon()

void juce::HWNDComponentPeer::setIcon ( const Image & newIcon)
inlineoverrideprivatevirtual

Attempts to change the icon associated with this window.

Implements juce::ComponentPeer.

◆ setMessageFilter()

void juce::HWNDComponentPeer::setMessageFilter ( )
inlineprivate

◆ setMinimised()

void juce::HWNDComponentPeer::setMinimised ( bool shouldBeMinimised)
inlineoverridevirtual

Minimises the window.

Implements juce::ComponentPeer.

◆ setTitle()

void juce::HWNDComponentPeer::setTitle ( const String & title)
inlineoverridevirtual

Changes the title of the window.

Implements juce::ComponentPeer.

◆ setVisible()

void juce::HWNDComponentPeer::setVisible ( bool shouldBeVisible)
inlineoverridevirtual

Shows or hides the window.

Implements juce::ComponentPeer.

◆ textInputRequired()

void juce::HWNDComponentPeer::textInputRequired ( Point< int > ,
TextInputTarget &  )
inlineoverridevirtual

Tells the window that text input may be required at the given position. This may cause things like a virtual on-screen keyboard to appear, depending on the OS.

This function should not be called directly by Components - use refreshTextInputTarget instead.

Implements juce::ComponentPeer.

◆ timerCallback()

void juce::HWNDComponentPeer::timerCallback ( )
inlineoverrideprivatevirtual

The user-defined callback routine that actually gets called periodically.

It's perfectly ok to call startTimer() or stopTimer() from within this callback to change the subsequent intervals.

Implements juce::Timer.

◆ toBehind()

void juce::HWNDComponentPeer::toBehind ( ComponentPeer * other)
inlineoverridevirtual

Moves the window to be just behind another one.

Implements juce::ComponentPeer.

◆ toFront()

void juce::HWNDComponentPeer::toFront ( bool takeKeyboardFocus)
inlineoverridevirtual

Brings the window to the top, optionally also giving it keyboard focus.

Implements juce::ComponentPeer.

◆ toFrontCallback1()

void * juce::HWNDComponentPeer::toFrontCallback1 ( void * h)
inlinestaticprivate

◆ toFrontCallback2()

void * juce::HWNDComponentPeer::toFrontCallback2 ( void * h)
inlinestaticprivate

◆ updateBorderSize()

void juce::HWNDComponentPeer::updateBorderSize ( )
inline

◆ updateCurrentMonitor()

bool juce::HWNDComponentPeer::updateCurrentMonitor ( )
inlineprivate

◆ updateKeyModifiers()

void juce::HWNDComponentPeer::updateKeyModifiers ( )
inlinestaticnoexcept

◆ updateModifiersFromWParam()

void juce::HWNDComponentPeer::updateModifiersFromWParam ( const WPARAM wParam)
inlinestatic

◆ updateShadower()

void juce::HWNDComponentPeer::updateShadower ( )
inlineprivate

◆ windowProc()

LRESULT CALLBACK juce::HWNDComponentPeer::windowProc ( HWND h,
UINT message,
WPARAM wParam,
LPARAM lParam )
inlinestatic

◆ windowShouldDismissModals()

void juce::HWNDComponentPeer::windowShouldDismissModals ( HWND originator)
inlineprivate

Member Data Documentation

◆ constrainerIsResizing

bool juce::HWNDComponentPeer::constrainerIsResizing = false
private

◆ currentMonitor

HMONITOR juce::HWNDComponentPeer::currentMonitor = nullptr
private

◆ currentRenderingEngine

RenderingEngineType juce::HWNDComponentPeer::currentRenderingEngine
private

◆ currentTouches

MultiTouchMapper< DWORD > juce::HWNDComponentPeer::currentTouches
staticprivate

◆ currentWindowIcon

HICON juce::HWNDComponentPeer::currentWindowIcon = nullptr
private

◆ deferredRepaints

RectangleList<int> juce::HWNDComponentPeer::deferredRepaints
private

◆ dontRepaint

bool juce::HWNDComponentPeer::dontRepaint

◆ dropTarget

FileDropTarget* juce::HWNDComponentPeer::dropTarget = nullptr
private

◆ fullScreen

bool juce::HWNDComponentPeer::fullScreen = false
private

◆ hasCreatedCaret

bool juce::HWNDComponentPeer::hasCreatedCaret = false
private

◆ hwnd

HWND juce::HWNDComponentPeer::hwnd
private

◆ imeHandler

IMEHandler juce::HWNDComponentPeer::imeHandler
private

◆ inDpiChange

bool juce::HWNDComponentPeer::inDpiChange = 0
private

◆ inHandlePositionChanged

bool juce::HWNDComponentPeer::inHandlePositionChanged = 0
private

◆ isAccessibilityActive

bool juce::HWNDComponentPeer::isAccessibilityActive = false
private

◆ isDragging

bool juce::HWNDComponentPeer::isDragging = false
private

◆ isMouseOver

bool juce::HWNDComponentPeer::isMouseOver = false
private

◆ lastMagnifySize

ULONGLONG juce::HWNDComponentPeer::lastMagnifySize = 0
private

◆ lastPaintTime

uint32 juce::HWNDComponentPeer::lastPaintTime = 0
private

◆ modalDismissBroadcaster

SharedResourcePointer<TopLevelModalDismissBroadcaster> juce::HWNDComponentPeer::modalDismissBroadcaster
private

◆ modifiersAtLastCallback

ModifierKeys juce::HWNDComponentPeer::modifiersAtLastCallback
static

◆ offscreenImageGenerator

TemporaryImage juce::HWNDComponentPeer::offscreenImageGenerator
private

◆ parentToAddTo

HWND juce::HWNDComponentPeer::parentToAddTo
private

◆ scaleFactor

double juce::HWNDComponentPeer::scaleFactor = 1.0
private

◆ shadower

std::unique_ptr<DropShadower> juce::HWNDComponentPeer::shadower
private

◆ shouldIgnoreModalDismiss

bool juce::HWNDComponentPeer::shouldIgnoreModalDismiss = false
private

◆ updateLayeredWindowAlpha

uint8 juce::HWNDComponentPeer::updateLayeredWindowAlpha = 255
private

◆ uwpViewSettings

UWPUIViewSettings juce::HWNDComponentPeer::uwpViewSettings
private

◆ windowBorder

BorderSize<int> juce::HWNDComponentPeer::windowBorder
private

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