ProxyNode

class ProxyNode(val wrapped: Node) : Node

Makes a node appear in a different part of the scene-graph.

This was originally designed to display nodes from TabBar in its overflow popup.

The nodes which cannot fit in the TabBar appear in a Popup. Originally, I moved them to the Popup, but the styling failed (because they are no longer in the TabBar, and therefore different Theme rules apply).

So instead, we keep them in the TabBar, but don't draw them. The Popup has a ProxyNode for each Node which cannot fit in the ToolBar.

This proxy then draws the node, by using a translation matrix to move it from its position in the toolbar, to the ProxyNode's position.

We also add event handlers/filters and forward them on to the wrapped node (and its descendants).

Constructors

Link copied to clipboard
constructor(wrapped: Node)

Properties

Link copied to clipboard

Functions

Link copied to clipboard
open override fun nodeMaxHeight(): Float

The default implementation returns NO_MAXIMUM (an arbitrary large number : 100,000).

Link copied to clipboard
open override fun nodeMaxWidth(): Float

The default implementation returns NO_MAXIMUM (an arbitrary large number : 100,000).

Link copied to clipboard
open override fun nodeMinHeight(): Float

Each subclass of node can determine the minimum width it requires. This can be overridden on an ad-hoc basis using overrideMinHeight. The default implementation returns 0.

Link copied to clipboard
open override fun nodeMinWidth(): Float

Each subclass of node can determine the minimum width it requires. This can be overridden on an ad-hoc basis using overrideMinWidth. The default implementation returns 0.

Link copied to clipboard
open override fun nodePrefHeight(): Float

Each subclass of node can determine its preferred height. As most nodes are composed of smaller nodes, this is typically calculated using evalPrefWidth of the child nodes, with extra added for spacing, padding and borders.

Link copied to clipboard
open override fun nodePrefWidth(): Float

Each subclass of node can determine its preferred width. As most nodes are composed of smaller nodes, this is typically calculated using evalPrefWidth of the child nodes, with extra added for spacing, padding and borders.