示例#1
0
            /*! \brief Open nested window. */
            public void OpenNested(OS.Rect visible,
                                   OS.Coord scroll,
                                   uint behindWindow,
                                   uint parentWindow,
                                   uint nestedFlags,
                                   uint windowFlags)
            {
                // Make sure bit 0 of nested flags is set correctly depending on whether
                // window flags are supplied.
                if (windowFlags == 0xffffffff)
                {
                    nestedFlags &= (~1U);
                    windowFlags  = 0;
                }
                else
                {
                    nestedFlags |= 1;
                }

                var block = new NativeWimp.WindowStateBlock(WimpWindow.Handle,
                                                            visible,
                                                            scroll,
                                                            behindWindow,
                                                            windowFlags);

                Wimp.OpenWindowNested(ref block, parentWindow, nestedFlags);
            }
示例#2
0
            /*! \brief Gets the visible area of this window in screen coordinates.  */
            public OS.Rect GetVisibleArea()
            {
                var state = new NativeWimp.WindowStateBlock();

                GetState(ref state);

                return(new OS.Rect(ref state.Visible));
            }
示例#3
0
            /*! \brief Open a normal window (no nesting) */
            public void Open(OS.Rect visible,
                             OS.Coord scroll,
                             uint behind)
            {
                var block = new NativeWimp.WindowStateBlock(WimpWindow.Handle,
                                                            visible,
                                                            scroll,
                                                            behind,
                                                            0);                  // Flags are ignored on a normal window open

                Wimp.OpenWindow(ref block);
            }
示例#4
0
 /*! \brief Returns a summary of the given window's state and window nesting.
  * \param [in,out] block Reference to a native type to receive the window state.
  * \param [out] linkage Defines how the window is nested in the parent.
  * \return The Wimp window handle of the parent.  */
 public uint GetNestedState(ref NativeWimp.WindowStateBlock block,
                            out uint linkage)
 {
     return(WimpWindow.GetNestedState(ref block, out linkage));
 }
示例#5
0
 /*! \brief Return a summary of this window's state
  * \param [in,out] block Reference to a native type to receive the window state.
  * \return Nothing.  */
 public void GetState(ref NativeWimp.WindowStateBlock block)
 {
     WimpWindow.GetState(ref block);
 }
示例#6
0
 internal static extern IntPtr Wimp_GetWindowStateAndNesting(
     [In, MarshalAs(UnmanagedType.Struct)]
     ref NativeWimp.WindowStateBlock block,
     out uint parent,
     out uint nestedFlags);
示例#7
0
 internal static extern IntPtr Wimp_GetWindowState(
     [In, MarshalAs(UnmanagedType.Struct)]
     ref NativeWimp.WindowStateBlock block);
示例#8
0
 internal static extern IntPtr Wimp_OpenWindowNestedWithFlags(
     [In, MarshalAs(UnmanagedType.Struct)]
     ref NativeWimp.WindowStateBlock block,
     uint parent,
     uint nestedFlags);
示例#9
0
 /*! \brief Returns a summary of the given window's state and window nesting.
  * \param [in,out] block Reference to a native type to receive the window state.
  * \param [out] linkage Defines how the window is nested in the parent.
  * \return The Wimp window handle of the parent.  */
 public uint GetNestedState(ref NativeWimp.WindowStateBlock block,
                            out uint linkage)
 {
     block.WindowHandle = Handle;
     return(Wimp.GetNestedWindowState(ref block, out linkage));
 }
示例#10
0
 /*! \brief Return a summary of this window's state
  * \param [in,out] block Reference to a native type to receive the window state.
  * \return Nothing.  */
 public void GetState(ref NativeWimp.WindowStateBlock block)
 {
     block.WindowHandle = Handle;
     Wimp.GetWindowState(ref block);
 }
示例#11
0
 /*! \brief Find the origin of the window when its state is unknown. */
 public OS.Coord GetOrigin()
 {
     NativeWimp.WindowStateBlock state = new NativeWimp.WindowStateBlock();
     GetState(ref state);
     return(GetOrigin(ref state.Visible, ref state.Scroll));
 }