void XWindow::GetWindow (int *x, int *y, unsigned int *windowWidth, unsigned int *windowHeight) { unsigned int ud = 0; Window _dw; int oldx = 0; int oldy = 0; Window root; bool decoration = false; decoration = _state.decoration; SetDecoration (false); XLockDisplay (_display); XSync (_display, False); XGetGeometry (_display, _XWindow, &root, &oldx, &oldy, windowWidth, windowHeight, &ud, &ud); XTranslateCoordinates (_display, _XWindow, root, oldx, oldy, x, y, &_dw); XUnlockDisplay (_display); SetDecoration (decoration); }
void XWindow::ToggleDecoration () { if (_embedded) return; SetDecoration (!_state.decoration); }
nuiButton::nuiButton(nuiDecoration* pDeco, bool AlreadyAcquired) : nuiSimpleContainer(), mEventSink(this) { if (SetObjectClass(_T("nuiButton"))) { InitAttributes(); } mClicked = false; mPressed = false; mAutoRepeat = false; mRepeatDelay = 0.5; mRepeatMinDelay = 0.01; mpAutoRepeatTimer = NULL; mActivationOffset = DEFAULT_ACTIVATION_OFFSET; SetRedrawOnHover(true); EnableInteractiveDecoration(true); SetDecoration(pDeco, eDecorationOverdraw, AlreadyAcquired); SetBorders(mDefaultBorders); SetWantKeyboardFocus(true); SetFocusVisible(true); mpTask = NULL; NUI_ADD_EVENT(ButtonPressed); NUI_ADD_EVENT(ButtonDePressed); NUI_ADD_EVENT(ButtonDePressedInactive); NUI_ADD_EVENT(Activated); }
nuiWidgetInspector::nuiWidgetInspector(nuiWidget* pTarget) : nuiComposite(), mInspectorSink(this) { SetObjectClass(_T("nuiWidgetInspector")); mpTarget = pTarget; // decoration nuiDecoration* pDeco = nuiDecoration::Get(INTROSPECTOR_DECO_CLIENT_BKG); if (pDeco) { SetDecoration(pDeco, eDecorationBorder); } nuiSplitter* pSplitter = new nuiSplitter(nuiVertical); AddChild(pSplitter); mpTree = new nuiWidgetInspectorNode(pTarget); //nuiColumnTreeView* pTree = new nuiColumnTreeView(new nuiScrollView(pSplitter, true, false), mpTree); nuiScrollView* pScrollView = new nuiScrollView(true, true); pSplitter->AddChild(pScrollView); nuiTreeView* pTree = new nuiTreeView(mpTree); pScrollView->AddChild(pTree); pTree->SetMultiSelectable(false); mpTree->Open(true); mpWidgetInfo = new nuiWidgetInfo(NULL); pSplitter->AddChild(mpWidgetInfo); mInspectorSink.Connect(pTree->SelectionChanged, &nuiWidgetInspector::OnSelectionChanged, pTree); }
nuiObjectInspector::nuiObjectInspector() : mSink(this) { SetObjectClass(_T("nuiObjectInspector")); // decoration nuiDecoration* pDeco = nuiDecoration::Get(INTROSPECTOR_DECO_CLIENT_BKG); mpImage = NULL; mpAttributeGrid = NULL; if (pDeco) { SetDecoration(pDeco, eDecorationBorder); } UpdateObjects(); //mSink.Connect(nuiObject::ObjectsChanged, &nuiObjectInspector::OnObjectsChanged); }
void XWindow::ToggleFullscreen () { if (_embedded) return; Window childWindow; XWindowAttributes xwattributes; int newX = 0; int newY = 0; int newWidth = 0; int newHeight = 0; if (_state.fullscreen) { // not needed with EWMH fs if (!(_wmType & wm_FULLSCREEN)) { newX = _state.oldx; newY = _state.oldy; newWidth = _state.oldWidth; newHeight = _state.oldHeight; SetDecoration (true); } // removes fullscreen state if wm supports EWMH SetEWMHFullscreen (_NET_WM_STATE_REMOVE); } else { // sets fullscreen state if wm supports EWMH SetEWMHFullscreen (_NET_WM_STATE_ADD); // not needed with EWMH fs - save window coordinates/size // and discover fullscreen window size if (!(_wmType & wm_FULLSCREEN)) { XLockDisplay (_display); newX = 0; newY = 0; newWidth = DisplayWidth (_display, DefaultScreen (_display)); newHeight = DisplayHeight (_display, DefaultScreen (_display)); SetDecoration (false); XFlush (_display); XTranslateCoordinates (_display, _XWindow, RootWindow (_display, DefaultScreen (_display)), 0, 0, &_state.oldx, &_state.oldy, &childWindow); XGetWindowAttributes (_display, _XWindow, &xwattributes); XUnlockDisplay (_display); _state.oldWidth = xwattributes.width; _state.oldHeight = xwattributes.height; } } // not needed with EWMH fs - create a screen-filling window on top // and turn of decorations if (!(_wmType & wm_FULLSCREEN)) { SetSizeHints (newX, newY, _XImage->width, _XImage->height, newWidth, newHeight); XLockDisplay (_display); SetLayer (!_state.fullscreen ? 0 : 1); XMoveResizeWindow (_display, _XWindow, newX, newY, newWidth, newHeight); XUnlockDisplay (_display); } // some WMs lose ontop after fullscreeen if (_state.fullscreen & _state.ontop) SetLayer (1); XLockDisplay (_display); XMapRaised (_display, _XWindow); XRaiseWindow (_display, _XWindow); XSync (_display, False); XUnlockDisplay (_display); _state.fullscreen = !_state.fullscreen; }