- buildCompositorICompositor buildCompositor(CompositorCreationContext* context) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- closeUIvoid closeUI() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- compositeGUIvoid compositeGUI(ImageRef!RGBA wfb) 
- Do the PBR compositing step. This is the most expensive step in the UI. 
- compositorICompositor compositor() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- convertLogicalRectToUserRectbox2i convertLogicalRectToUserRect(box2i b) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- convertPBRLayerRectToRawLayerRectbox2i convertPBRLayerRectToRawLayerRect(box2i rect, int width, int height) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- convertUserRectToLogicalRectbox2i convertUserRectToLogicalRect(box2i b) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- doDrawvoid doDraw(WindowPixelFormat pf) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- doResizeImageRef!RGBA doResize(int widthLogicalPixels, int heightLogicalPixels) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getDefaultUISizeInPixelsvec2i getDefaultUISizeInPixels() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getDesiredGUISizevoid getDesiredGUISize(int* widthLogicalPixels, int* heightLogicalPixels) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getGUISizevoid getGUISize(int* widthLogicalPixels, int* heightLogicalPixels) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getMaxSmallerValidSizevoid getMaxSmallerValidSize(int* inoutWidth, int* inoutHeight) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getNearestValidSizevoid getNearestValidSize(int* inoutWidth, int* inoutHeight) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getPreservedAspectRatioint[2] getPreservedAspectRatio() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getUINearestValidSizevoid getUINearestValidSize(int* widthLogicalPixels, int* heightLogicalPixels) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getUIScalefloat getUIScale() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getUISizeInPixelsLogicalvec2i getUISizeInPixelsLogical() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getUISizeInPixelsPhysicalvec2i getUISizeInPixelsPhysical() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getUISizeInPixelsUservec2i getUISizeInPixelsUser() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getUserScalefloat getUserScale() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- isAspectRatioPreservedbool isAspectRatioPreserved() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- isResizeablebool isResizeable() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- isResizeableHorizontallybool isResizeableHorizontally() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- isResizeableVerticallybool isResizeableVertically() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- isUIResizablebool isUIResizable() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- nativeWindowResizebool nativeWindowResize(int newWidthLogicalPixels, int newHeightLogicalPixels) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- onScreenshotvoid onScreenshot(ImageRef!RGBA finalRender, WindowPixelFormat pixelFormat, ImageRef!RGBA diffuseMap, ImageRef!L16 depthMap, ImageRef!RGBA materialMap) 
- Want a screenshot? Want to generate a mesh or a voxel out of your render?
 Override this function and call IUIContext.requestUIScreenshot() 
- openUIvoid* openUI(void* parentInfo, void* controlInfo, IClient client, GraphicsBackend backend) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- profilerIProfiler profiler() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- recomputeDirtyAreasvoid recomputeDirtyAreas() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- recomputeDrawListsvoid recomputeDrawLists() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- recomputePurelyDerivedRectanglesvoid recomputePurelyDerivedRectangles() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- redrawElementsPBRvoid redrawElementsPBR() 
- Draw the PBR layer of UIElement widgets 
- redrawElementsRawvoid redrawElementsRaw() 
- Draw the Raw layer of UIElement widgets 
- regenerateMipmapsvoid regenerateMipmaps() 
- Compose lighting effects from depth and diffuse into a result.
 takes output image and non-overlapping areas as input
 Useful multithreading code. 
- reorderComponentsvoid reorderComponents(WindowPixelFormat pf) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- requestUIResizebool requestUIResize(int widthLogicalPixels, int heightLogicalPixels) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- requestUIScreenshotvoid requestUIScreenshot() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- resizeContentvoid resizeContent(WindowPixelFormat pf) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- setUpdateMarginvoid setUpdateMargin(int margin) 
- Tune this to tune the trade-off between light quality and speed.
 The default value was tuned by hand on very shiny light sources.
 Too high and processing becomes more expensive.
 Too little and the ligth decay doesn't feel natural.
 IMPORTANT: This should be called only inside your main reflow() or at UI creation time. 
- toImageRefImageRef!RGBA toImageRef(ubyte* alignedBuffer, int width, int height) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- _clientIClient _client; 
- Undocumented in source. 
- _compositedBufferOwnedImage!RGBA _compositedBuffer; 
- The composited buffer, before the Raw layer is applied. 
- _compositorICompositor _compositor; 
- Undocumented in source. 
- _currentLogicalHeightint _currentLogicalHeight; 
- Undocumented in source. 
- _currentLogicalWidthint _currentLogicalWidth; 
- Undocumented in source. 
- _currentUserHeightint _currentUserHeight; 
- Undocumented in source. 
- _currentUserWidthint _currentUserWidth; 
- Undocumented in source. 
- _depthMapMipmap!L16 _depthMap; 
- Undocumented in source. 
- _desiredLogicalHeightint _desiredLogicalHeight; 
- Undocumented in source. 
- _desiredLogicalWidthint _desiredLogicalWidth; 
- Undocumented in source. 
- _diffuseMapMipmap!RGBA _diffuseMap; 
- Undocumented in source. 
- _elemsToDrawPBRVec!UIElement _elemsToDrawPBR; 
- The list of UIElement to potentially call onDrawPBR on. 
- _elemsToDrawRawVec!UIElement _elemsToDrawRaw; 
- The list of UIElement to potentially call onDrawPBR on. 
- _firstResizebool _firstResize; 
- Undocumented in source. 
- _materialMapMipmap!RGBA _materialMap; 
- Undocumented in source. 
- _rectsTempVec!box2i _rectsTemp; 
- Undocumented in source. 
- _rectsToCompositeVec!box2i _rectsToComposite; 
- Undocumented in source. 
- _rectsToCompositeDisjointedVec!box2i _rectsToCompositeDisjointed; 
- Undocumented in source. 
- _rectsToCompositeDisjointedTiledVec!box2i _rectsToCompositeDisjointedTiled; 
- Undocumented in source. 
- _rectsToDisplayVec!box2i _rectsToDisplay; 
- Undocumented in source. 
- _rectsToDisplayDisjointedVec!box2i _rectsToDisplayDisjointed; 
- Undocumented in source. 
- _rectsToResizeVec!box2i _rectsToResize; 
- Undocumented in source. 
- _rectsToResizeDisjointedVec!box2i _rectsToResizeDisjointed; 
- Undocumented in source. 
- _rectsToUpdateDisjointedPBRVec!box2i _rectsToUpdateDisjointedPBR; 
- The list of areas to be redrawn at the Raw and PBR levels (composited).
 These are accumulated over possibly several calls of recomputeDirtyRects
 and cleared by a call to onDraw.
 Other lists of areas are purely derived from _rectsToUpdateDisjointedRaw
 and _rectsToUpdateDisjointedPBR. 
- _rectsToUpdateDisjointedRawVec!box2i _rectsToUpdateDisjointedRaw; 
- The list of areas to be redrawn at the Raw and PBR levels (composited).
 These are accumulated over possibly several calls of recomputeDirtyRects
 and cleared by a call to onDraw.
 Other lists of areas are purely derived from _rectsToUpdateDisjointedRaw
 and _rectsToUpdateDisjointedPBR. 
- _redrawBlackBordersAndResizedAreabool _redrawBlackBordersAndResizedArea; 
- Undocumented in source. 
- _renderedBufferOwnedImage!RGBA _renderedBuffer; 
- The rendered framebuffer.
 This is copied from _compositedBuffer, then Raw layer is drawn on top.
 Components are reordered there.
 It must be possible to use a Canvas on it. 
- _reportBlackBordersAndResizedAreaAsDirtybool _reportBlackBordersAndResizedAreaAsDirty; 
- Undocumented in source. 
- _resizedBufferubyte* _resizedBuffer; 
- The final framebuffer.
 It is the only buffer to have a size in logical pixels.
 Internally the UI has an "user" size.
 FUTURE: resize from user size to logical size using a resizer,
 to allow better looking DPI without the OS blurry resizing.
 Or to allow higher internal pixel count. 
- _screenShotRequestedshared(bool) _screenShotRequested; 
- If a screenshot was requested by user widget. 
- _sizeConstraintsSizeConstraints _sizeConstraints; 
- Undocumented in source. 
- _sortScratchBufVec!UIElement _sortScratchBuf; 
- The scratch buffer used to sort the two above list. 
- _threadPoolThreadPool _threadPool; 
- Undocumented in source. 
- _uiContextUIContext _uiContext; 
- Undocumented in source. 
- _updateMarginint _updateMargin; 
- Amount of pixels dirty rectangles are extended with. 
- _updateRectScratchVec!box2i[2] _updateRectScratch; 
- Undocumented in source. 
- _userAreabox2i _userArea; 
- the area in logical area where the user area is drawn. 
- _windowIWindow _window; 
- Undocumented in source. 
- _windowListenerWindowListener _windowListener; 
- Undocumented in source. 
- ~this~this() 
- Destroy a UIElement.
        Normally this happens naturally, since each widget
        owns its children. 
- positionbox2i position() 
- Get widget position in the window (absolute). 
- positionvoid position(box2i p) 
- void position(box2f p) 
- Set widget position in the window (absolute). 
- contextUIContext context() 
- Get the UI context, which is an additional API for
        widgets to use (though quite a bit of methods are
        internals there). 
- parentUIElement parent() 
- Get parent widget, if any. 
- topLevelParentUIElement topLevelParent() 
- Get top-level parent, if any. 
- childUIElement child(int n) 
- addChildvoid addChild(UIElement element) 
- Add a UIElement as child to another. 
- removeChildvoid removeChild(UIElement element) 
- Removes a child from its parent.
       Useful for creating dynamic UI's. 
- setDirtyWholevoid setDirtyWhole(UILayer layer) 
- Mark this element as "dirty" on its whole position. 
- setDirtyvoid setDirty(box2i rect, UILayer layer) 
- Mark a sub-part of the element "dirty". 
- isVisiblebool isVisible() 
- A widget is "visible" when it has a true visibility
        flag, and its parent is itself visible. 
- visibilitybool visibility() 
- Get visibility flag of the widget. 
- visibilityvoid visibility(bool visible) 
- Change visibility flag of the widget. Show or hide
        all children of this UIElement, regardless of
        their position on screen, invalidating their
        graphics if need be (much like a position change). 
- zOrderint zOrder() 
- void zOrder(int zOrder) 
- Set/get widget Z-order (default = 0). 
- setZOrderalias setZOrder = zOrder 
- Undocumented in source. 
- setIdvoid setId(const(char)[] identifier) 
- idvoid id(const(char)[] identifier) 
- getIdconst(char)[] getId() 
- idconst(char)[] id() 
- hasIdbool hasId() 
- Has this widget an identifier? 
- getElementByIdUIElement getElementById(const(char)* id) 
- Search subtree for an UIElement with ID id.
         Undefined Behaviour if ID are not unique. 
- reflowvoid reflow() 
- The .reflow() callback is called whenver the
        .position of a widget changes. 
- isMouseOverbool isMouseOver() 
- isDraggedbool isDragged() 
- isFocusedbool isFocused() 
- Widget has keyboard focused? (last clicked) 
- drawsToPBRbool drawsToPBR() 
- Widget draws on the PBR layer? 
- drawsToRawbool drawsToRaw() 
- Widget draws on the Raw layer? 
- isAnimatedbool isAnimated() 
- Is widget animated? (onAnimate called) 
- isDrawAloneRawbool isDrawAloneRaw() 
- Should widget be drawn alone in Raw layer? 
- isDrawAlonePBRbool isDrawAlonePBR() 
- Should widget be drawn alone in PBR layer? 
- cursorWhenDraggedMouseCursor cursorWhenDragged() 
- setCursorWhenDraggedvoid setCursorWhenDragged(MouseCursor mouseCursor) 
- cursorWhenMouseOverMouseCursor cursorWhenMouseOver() 
- setCursorWhenMouseOvervoid setCursorWhenMouseOver(MouseCursor mouseCursor) 
- getUserPointervoid* getUserPointer(int pointerID) 
- setUserPointervoid setUserPointer(int pointerID, void* user) 
- Set/Get a user pointer.
        This allow dplug:gui extensions. 
- containsbool contains(int x, int y) 
- Check if given point is considered in the widget,
        for clicks, mouse moves, etc.
        This function is meant to be overridden. 
- onMouseEntervoid onMouseEnter() 
- onMouseExitvoid onMouseExit() 
- Called when mouse enter or exits a widget.
        This function is meant to be overridden. 
- onMouseClickClick onMouseClick(int x, int y, int button, bool isDoubleClick, MouseState mstate) 
- .onMouseClick() is called for every new click. 
- onMouseWheelbool onMouseWheel(int x, int y, int wheelDeltaX, int wheelDeltaY, MouseState mstate) 
- Mouse wheel was turned.
        This function is meant to be overridden. 
- onMouseMovevoid onMouseMove(int x, int y, int dx, int dy, MouseState mstate) 
- Called when the mouse moves over this widget area.
        This function is meant to be overridden. 
- onBeginDragvoid onBeginDrag() 
- onStopDragvoid onStopDrag() 
- Called when a drag operation starts or ends.
        This function is meant to be overridden. 
- onMouseDragvoid onMouseDrag(int x, int y, int dx, int dy, MouseState mstate) 
- Called when the mouse moves while dragging this
        widget. 
- onFocusEntervoid onFocusEnter() 
- Called when this widget is clicked and get the
         "focus" (ie. meaning the keyboard focus).
         This function is meant to be overridden. 
- onFocusExitvoid onFocusExit() 
- This widget lost the keyboard focus.
        This function is meant to be overridden. 
- onKeyDownbool onKeyDown(Key key) 
- onKeyUpbool onKeyUp(Key key) 
- Called when a key is pressed/released.
        Functiosn meant to be overridden. 
- onDrawRawvoid onDrawRaw(ImageRef!RGBA rawMap, box2i[] dirtyRects) 
- Raw layer draw method.
        This function is meant to be overridden. 
- onDrawPBRvoid onDrawPBR(ImageRef!RGBA diffuse, ImageRef!L16 depth, ImageRef!RGBA material, box2i[] dirtyRects) 
- PBR layer draw method.
        This function is meant to be overridden. 
- onAnimatevoid onAnimate(double dt, double time) 
- Called periodically for every UIElement that has
        flagAnimated.
        Override this to create animations. 
- renderRawvoid renderRaw(ImageRef!RGBA rawMap, box2i[] areasToUpdate) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- renderPBRvoid renderPBR(ImageRef!RGBA diffuse, ImageRef!L16 depth, ImageRef!RGBA material, box2i[] areasToUpdate) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- mouseClickbool mouseClick(int x, int y, int button, bool isDoubleClick, MouseState mstate) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- mouseReleasevoid mouseRelease(int x, int y, int button, MouseState mstate) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- mouseWheelbool mouseWheel(int x, int y, int wheelDeltaX, int wheelDeltaY, MouseState mstate) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- mouseMovebool mouseMove(int x, int y, int dx, int dy, MouseState mstate, bool alreadyFoundMouseOver) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- keyDownbool keyDown(Key key) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- keyUpbool keyUp(Key key) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- animatevoid animate(double dt, double time) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- getDrawListsvoid getDrawLists(Vec!UIElement listRaw, Vec!UIElement listPBR) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- _parentUIElement _parent; 
- Undocumented in source. 
- _positionbox2i _position; 
- Undocumented in source. 
- _childrenVec!UIElement _children; 
- Undocumented in source. 
- _flagsimmutable(uint) _flags; 
- Undocumented in source. 
- _zOrderint _zOrder; 
- Undocumented in source.