FreeRDP
include/freerdp/window.h File Reference
#include <freerdp/types.h>
#include <freerdp/rail.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  WINDOW_ORDER_INFO
 
struct  ICON_INFO
 
struct  CACHED_ICON_INFO
 
struct  NOTIFY_ICON_INFOTIP
 
struct  WINDOW_STATE_ORDER
 
struct  WINDOW_ICON_ORDER
 
struct  WINDOW_CACHED_ICON_ORDER
 
struct  NOTIFY_ICON_STATE_ORDER
 
struct  MONITORED_DESKTOP_ORDER
 
struct  rdpWindowUpdate
 

Macros

#define WINDOW_ORDER_TYPE_WINDOW   0x01000000
 
#define WINDOW_ORDER_TYPE_NOTIFY   0x02000000
 
#define WINDOW_ORDER_TYPE_DESKTOP   0x04000000
 
#define WINDOW_ORDER_STATE_NEW   0x10000000
 
#define WINDOW_ORDER_STATE_DELETED   0x20000000
 
#define WINDOW_ORDER_FIELD_OWNER   0x00000002
 
#define WINDOW_ORDER_FIELD_STYLE   0x00000008
 
#define WINDOW_ORDER_FIELD_SHOW   0x00000010
 
#define WINDOW_ORDER_FIELD_TITLE   0x00000004
 
#define WINDOW_ORDER_FIELD_CLIENT_AREA_OFFSET   0x00004000
 
#define WINDOW_ORDER_FIELD_CLIENT_AREA_SIZE   0x00010000
 
#define WINDOW_ORDER_FIELD_RESIZE_MARGIN_X   0x00000080
 
#define WINDOW_ORDER_FIELD_RESIZE_MARGIN_Y   0x08000000
 
#define WINDOW_ORDER_FIELD_RP_CONTENT   0x00020000
 
#define WINDOW_ORDER_FIELD_ROOT_PARENT   0x00040000
 
#define WINDOW_ORDER_FIELD_WND_OFFSET   0x00000800
 
#define WINDOW_ORDER_FIELD_WND_CLIENT_DELTA   0x00008000
 
#define WINDOW_ORDER_FIELD_WND_SIZE   0x00000400
 
#define WINDOW_ORDER_FIELD_WND_RECTS   0x00000100
 
#define WINDOW_ORDER_FIELD_VIS_OFFSET   0x00001000
 
#define WINDOW_ORDER_FIELD_VISIBILITY   0x00000200
 
#define WINDOW_ORDER_FIELD_OVERLAY_DESCRIPTION   0x00400000
 
#define WINDOW_ORDER_FIELD_ICON_OVERLAY_NULL   0x00200000
 
#define WINDOW_ORDER_FIELD_TASKBAR_BUTTON   0x00800000
 
#define WINDOW_ORDER_FIELD_ENFORCE_SERVER_ZORDER   0x00080000
 
#define WINDOW_ORDER_FIELD_APPBAR_STATE   0x00000040
 
#define WINDOW_ORDER_FIELD_APPBAR_EDGE   0x00000001
 
#define WINDOW_ORDER_ICON   0x40000000
 
#define WINDOW_ORDER_CACHED_ICON   0x80000000
 
#define WINDOW_ORDER_FIELD_ICON_BIG   0x00002000
 
#define WINDOW_ORDER_FIELD_ICON_OVERLAY   0x00100000
 
#define WINDOW_ORDER_FIELD_NOTIFY_VERSION   0x00000008
 
#define WINDOW_ORDER_FIELD_NOTIFY_TIP   0x00000001
 
#define WINDOW_ORDER_FIELD_NOTIFY_INFO_TIP   0x00000002
 
#define WINDOW_ORDER_FIELD_NOTIFY_STATE   0x00000004
 
#define WINDOW_ORDER_FIELD_DESKTOP_NONE   0x00000001
 
#define WINDOW_ORDER_FIELD_DESKTOP_HOOKED   0x00000002
 
#define WINDOW_ORDER_FIELD_DESKTOP_ARC_COMPLETED   0x00000004
 
#define WINDOW_ORDER_FIELD_DESKTOP_ARC_BEGAN   0x00000008
 
#define WINDOW_ORDER_FIELD_DESKTOP_ZORDER   0x00000010
 
#define WINDOW_ORDER_FIELD_DESKTOP_ACTIVE_WND   0x00000020
 
#define WINDOW_HIDE   0x00
 
#define WINDOW_SHOW_MINIMIZED   0x02
 
#define WINDOW_SHOW_MAXIMIZED   0x03
 
#define WINDOW_SHOW   0x05
 
#define WS_BORDER   0x00800000
 
#define WS_CAPTION   0x00C00000
 
#define WS_CHILD   0x40000000
 
#define WS_CLIPCHILDREN   0x02000000
 
#define WS_CLIPSIBLINGS   0x04000000
 
#define WS_DISABLED   0x08000000
 
#define WS_DLGFRAME   0x00400000
 
#define WS_GROUP   0x00020000
 
#define WS_HSCROLL   0x00100000
 
#define WS_ICONIC   0x20000000
 
#define WS_MAXIMIZE   0x01000000
 
#define WS_MAXIMIZEBOX   0x00010000
 
#define WS_MINIMIZE   0x20000000
 
#define WS_MINIMIZEBOX   0x00020000
 
#define WS_OVERLAPPED   0x00000000
 
#define WS_OVERLAPPEDWINDOW    (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
 
#define WS_POPUP   0x80000000
 
#define WS_POPUPWINDOW   (WS_POPUP | WS_BORDER | WS_SYSMENU)
 
#define WS_SIZEBOX   0x00040000
 
#define WS_SYSMENU   0x00080000
 
#define WS_TABSTOP   0x00010000
 
#define WS_THICKFRAME   0x00040000
 
#define WS_VISIBLE   0x10000000
 
#define WS_VSCROLL   0x00200000
 
#define WS_EX_ACCEPTFILES   0x00000010
 
#define WS_EX_APPWINDOW   0x00040000
 
#define WS_EX_CLIENTEDGE   0x00000200
 
#define WS_EX_COMPOSITED   0x02000000
 
#define WS_EX_CONTEXTHELP   0x00000400
 
#define WS_EX_CONTROLPARENT   0x00010000
 
#define WS_EX_DLGMODALFRAME   0x00000001
 
#define WS_EX_LAYERED   0x00080000
 
#define WS_EX_LAYOUTRTL   0x00400000
 
#define WS_EX_LEFT   0x00000000
 
#define WS_EX_LEFTSCROLLBAR   0x00004000
 
#define WS_EX_LTRREADING   0x00000000
 
#define WS_EX_MDICHILD   0x00000040
 
#define WS_EX_NOACTIVATE   0x08000000
 
#define WS_EX_NOINHERITLAYOUT   0x00100000
 
#define WS_EX_NOPARENTNOTIFY   0x00000004
 
#define WS_EX_OVERLAPPEDWINDOW   (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
 
#define WS_EX_PALETTEWINDOW   (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
 
#define WS_EX_RIGHT   0x00001000
 
#define WS_EX_RIGHTSCROLLBAR   0x00000000
 
#define WS_EX_RTLREADING   0x00002000
 
#define WS_EX_STATICEDGE   0x00020000
 
#define WS_EX_TOOLWINDOW   0x00000080
 
#define WS_EX_TOPMOST   0x00000008
 
#define WS_EX_TRANSPARENT   0x00000020
 
#define WS_EX_WINDOWEDGE   0x00000100
 
#define WS_EX_DECORATIONS   0x40000000
 

Typedefs

typedef BOOL(* pWindowCreate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_STATE_ORDER *window_state)
 
typedef BOOL(* pWindowUpdate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_STATE_ORDER *window_state)
 
typedef BOOL(* pWindowIcon) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_ICON_ORDER *window_icon)
 
typedef BOOL(* pWindowCachedIcon) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_CACHED_ICON_ORDER *window_cached_icon)
 
typedef BOOL(* pWindowDelete) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo)
 
typedef BOOL(* pNotifyIconCreate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const NOTIFY_ICON_STATE_ORDER *notify_icon_state)
 
typedef BOOL(* pNotifyIconUpdate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const NOTIFY_ICON_STATE_ORDER *notify_icon_state)
 
typedef BOOL(* pNotifyIconDelete) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo)
 
typedef BOOL(* pMonitoredDesktop) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const MONITORED_DESKTOP_ORDER *monitored_desktop)
 
typedef BOOL(* pNonMonitoredDesktop) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo)
 

Macro Definition Documentation

◆ WINDOW_HIDE

#define WINDOW_HIDE   0x00

◆ WINDOW_ORDER_CACHED_ICON

#define WINDOW_ORDER_CACHED_ICON   0x80000000

◆ WINDOW_ORDER_FIELD_APPBAR_EDGE

#define WINDOW_ORDER_FIELD_APPBAR_EDGE   0x00000001

◆ WINDOW_ORDER_FIELD_APPBAR_STATE

#define WINDOW_ORDER_FIELD_APPBAR_STATE   0x00000040

◆ WINDOW_ORDER_FIELD_CLIENT_AREA_OFFSET

#define WINDOW_ORDER_FIELD_CLIENT_AREA_OFFSET   0x00004000

◆ WINDOW_ORDER_FIELD_CLIENT_AREA_SIZE

#define WINDOW_ORDER_FIELD_CLIENT_AREA_SIZE   0x00010000

◆ WINDOW_ORDER_FIELD_DESKTOP_ACTIVE_WND

#define WINDOW_ORDER_FIELD_DESKTOP_ACTIVE_WND   0x00000020

◆ WINDOW_ORDER_FIELD_DESKTOP_ARC_BEGAN

#define WINDOW_ORDER_FIELD_DESKTOP_ARC_BEGAN   0x00000008

◆ WINDOW_ORDER_FIELD_DESKTOP_ARC_COMPLETED

#define WINDOW_ORDER_FIELD_DESKTOP_ARC_COMPLETED   0x00000004

◆ WINDOW_ORDER_FIELD_DESKTOP_HOOKED

#define WINDOW_ORDER_FIELD_DESKTOP_HOOKED   0x00000002

◆ WINDOW_ORDER_FIELD_DESKTOP_NONE

#define WINDOW_ORDER_FIELD_DESKTOP_NONE   0x00000001

◆ WINDOW_ORDER_FIELD_DESKTOP_ZORDER

#define WINDOW_ORDER_FIELD_DESKTOP_ZORDER   0x00000010

◆ WINDOW_ORDER_FIELD_ENFORCE_SERVER_ZORDER

#define WINDOW_ORDER_FIELD_ENFORCE_SERVER_ZORDER   0x00080000

◆ WINDOW_ORDER_FIELD_ICON_BIG

#define WINDOW_ORDER_FIELD_ICON_BIG   0x00002000

◆ WINDOW_ORDER_FIELD_ICON_OVERLAY

#define WINDOW_ORDER_FIELD_ICON_OVERLAY   0x00100000

◆ WINDOW_ORDER_FIELD_ICON_OVERLAY_NULL

#define WINDOW_ORDER_FIELD_ICON_OVERLAY_NULL   0x00200000

◆ WINDOW_ORDER_FIELD_NOTIFY_INFO_TIP

#define WINDOW_ORDER_FIELD_NOTIFY_INFO_TIP   0x00000002

◆ WINDOW_ORDER_FIELD_NOTIFY_STATE

#define WINDOW_ORDER_FIELD_NOTIFY_STATE   0x00000004

◆ WINDOW_ORDER_FIELD_NOTIFY_TIP

#define WINDOW_ORDER_FIELD_NOTIFY_TIP   0x00000001

◆ WINDOW_ORDER_FIELD_NOTIFY_VERSION

#define WINDOW_ORDER_FIELD_NOTIFY_VERSION   0x00000008

◆ WINDOW_ORDER_FIELD_OVERLAY_DESCRIPTION

#define WINDOW_ORDER_FIELD_OVERLAY_DESCRIPTION   0x00400000

◆ WINDOW_ORDER_FIELD_OWNER

#define WINDOW_ORDER_FIELD_OWNER   0x00000002

◆ WINDOW_ORDER_FIELD_RESIZE_MARGIN_X

#define WINDOW_ORDER_FIELD_RESIZE_MARGIN_X   0x00000080

◆ WINDOW_ORDER_FIELD_RESIZE_MARGIN_Y

#define WINDOW_ORDER_FIELD_RESIZE_MARGIN_Y   0x08000000

◆ WINDOW_ORDER_FIELD_ROOT_PARENT

#define WINDOW_ORDER_FIELD_ROOT_PARENT   0x00040000

◆ WINDOW_ORDER_FIELD_RP_CONTENT

#define WINDOW_ORDER_FIELD_RP_CONTENT   0x00020000

◆ WINDOW_ORDER_FIELD_SHOW

#define WINDOW_ORDER_FIELD_SHOW   0x00000010

◆ WINDOW_ORDER_FIELD_STYLE

#define WINDOW_ORDER_FIELD_STYLE   0x00000008

◆ WINDOW_ORDER_FIELD_TASKBAR_BUTTON

#define WINDOW_ORDER_FIELD_TASKBAR_BUTTON   0x00800000

◆ WINDOW_ORDER_FIELD_TITLE

#define WINDOW_ORDER_FIELD_TITLE   0x00000004

◆ WINDOW_ORDER_FIELD_VIS_OFFSET

#define WINDOW_ORDER_FIELD_VIS_OFFSET   0x00001000

◆ WINDOW_ORDER_FIELD_VISIBILITY

#define WINDOW_ORDER_FIELD_VISIBILITY   0x00000200

◆ WINDOW_ORDER_FIELD_WND_CLIENT_DELTA

#define WINDOW_ORDER_FIELD_WND_CLIENT_DELTA   0x00008000

◆ WINDOW_ORDER_FIELD_WND_OFFSET

#define WINDOW_ORDER_FIELD_WND_OFFSET   0x00000800

◆ WINDOW_ORDER_FIELD_WND_RECTS

#define WINDOW_ORDER_FIELD_WND_RECTS   0x00000100

◆ WINDOW_ORDER_FIELD_WND_SIZE

#define WINDOW_ORDER_FIELD_WND_SIZE   0x00000400

◆ WINDOW_ORDER_ICON

#define WINDOW_ORDER_ICON   0x40000000

◆ WINDOW_ORDER_STATE_DELETED

#define WINDOW_ORDER_STATE_DELETED   0x20000000

◆ WINDOW_ORDER_STATE_NEW

#define WINDOW_ORDER_STATE_NEW   0x10000000

◆ WINDOW_ORDER_TYPE_DESKTOP

#define WINDOW_ORDER_TYPE_DESKTOP   0x04000000

◆ WINDOW_ORDER_TYPE_NOTIFY

#define WINDOW_ORDER_TYPE_NOTIFY   0x02000000

◆ WINDOW_ORDER_TYPE_WINDOW

#define WINDOW_ORDER_TYPE_WINDOW   0x01000000

FreeRDP: A Remote Desktop Protocol Implementation Window Alternate Secondary Drawing Orders Interface API

Copyright 2011 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ WINDOW_SHOW

#define WINDOW_SHOW   0x05

◆ WINDOW_SHOW_MAXIMIZED

#define WINDOW_SHOW_MAXIMIZED   0x03

◆ WINDOW_SHOW_MINIMIZED

#define WINDOW_SHOW_MINIMIZED   0x02

◆ WS_BORDER

#define WS_BORDER   0x00800000

◆ WS_CAPTION

#define WS_CAPTION   0x00C00000

◆ WS_CHILD

#define WS_CHILD   0x40000000

◆ WS_CLIPCHILDREN

#define WS_CLIPCHILDREN   0x02000000

◆ WS_CLIPSIBLINGS

#define WS_CLIPSIBLINGS   0x04000000

◆ WS_DISABLED

#define WS_DISABLED   0x08000000

◆ WS_DLGFRAME

#define WS_DLGFRAME   0x00400000

◆ WS_EX_ACCEPTFILES

#define WS_EX_ACCEPTFILES   0x00000010

◆ WS_EX_APPWINDOW

#define WS_EX_APPWINDOW   0x00040000

◆ WS_EX_CLIENTEDGE

#define WS_EX_CLIENTEDGE   0x00000200

◆ WS_EX_COMPOSITED

#define WS_EX_COMPOSITED   0x02000000

◆ WS_EX_CONTEXTHELP

#define WS_EX_CONTEXTHELP   0x00000400

◆ WS_EX_CONTROLPARENT

#define WS_EX_CONTROLPARENT   0x00010000

◆ WS_EX_DECORATIONS

#define WS_EX_DECORATIONS   0x40000000

This is a custom extended window style used by XRDP instructing the client to use local window decorations

◆ WS_EX_DLGMODALFRAME

#define WS_EX_DLGMODALFRAME   0x00000001

◆ WS_EX_LAYERED

#define WS_EX_LAYERED   0x00080000

◆ WS_EX_LAYOUTRTL

#define WS_EX_LAYOUTRTL   0x00400000

◆ WS_EX_LEFT

#define WS_EX_LEFT   0x00000000

◆ WS_EX_LEFTSCROLLBAR

#define WS_EX_LEFTSCROLLBAR   0x00004000

◆ WS_EX_LTRREADING

#define WS_EX_LTRREADING   0x00000000

◆ WS_EX_MDICHILD

#define WS_EX_MDICHILD   0x00000040

◆ WS_EX_NOACTIVATE

#define WS_EX_NOACTIVATE   0x08000000

◆ WS_EX_NOINHERITLAYOUT

#define WS_EX_NOINHERITLAYOUT   0x00100000

◆ WS_EX_NOPARENTNOTIFY

#define WS_EX_NOPARENTNOTIFY   0x00000004

◆ WS_EX_OVERLAPPEDWINDOW

#define WS_EX_OVERLAPPEDWINDOW   (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)

◆ WS_EX_PALETTEWINDOW

#define WS_EX_PALETTEWINDOW   (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)

◆ WS_EX_RIGHT

#define WS_EX_RIGHT   0x00001000

◆ WS_EX_RIGHTSCROLLBAR

#define WS_EX_RIGHTSCROLLBAR   0x00000000

◆ WS_EX_RTLREADING

#define WS_EX_RTLREADING   0x00002000

◆ WS_EX_STATICEDGE

#define WS_EX_STATICEDGE   0x00020000

◆ WS_EX_TOOLWINDOW

#define WS_EX_TOOLWINDOW   0x00000080

◆ WS_EX_TOPMOST

#define WS_EX_TOPMOST   0x00000008

◆ WS_EX_TRANSPARENT

#define WS_EX_TRANSPARENT   0x00000020

◆ WS_EX_WINDOWEDGE

#define WS_EX_WINDOWEDGE   0x00000100

◆ WS_GROUP

#define WS_GROUP   0x00020000

◆ WS_HSCROLL

#define WS_HSCROLL   0x00100000

◆ WS_ICONIC

#define WS_ICONIC   0x20000000

◆ WS_MAXIMIZE

#define WS_MAXIMIZE   0x01000000

◆ WS_MAXIMIZEBOX

#define WS_MAXIMIZEBOX   0x00010000

◆ WS_MINIMIZE

#define WS_MINIMIZE   0x20000000

◆ WS_MINIMIZEBOX

#define WS_MINIMIZEBOX   0x00020000

◆ WS_OVERLAPPED

#define WS_OVERLAPPED   0x00000000

◆ WS_OVERLAPPEDWINDOW

#define WS_OVERLAPPEDWINDOW    (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)

◆ WS_POPUP

#define WS_POPUP   0x80000000

◆ WS_POPUPWINDOW

#define WS_POPUPWINDOW   (WS_POPUP | WS_BORDER | WS_SYSMENU)

◆ WS_SIZEBOX

#define WS_SIZEBOX   0x00040000

◆ WS_SYSMENU

#define WS_SYSMENU   0x00080000

◆ WS_TABSTOP

#define WS_TABSTOP   0x00010000

◆ WS_THICKFRAME

#define WS_THICKFRAME   0x00040000

◆ WS_VISIBLE

#define WS_VISIBLE   0x10000000

◆ WS_VSCROLL

#define WS_VSCROLL   0x00200000

Typedef Documentation

◆ pMonitoredDesktop

typedef BOOL(* pMonitoredDesktop) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const MONITORED_DESKTOP_ORDER *monitored_desktop)

◆ pNonMonitoredDesktop

typedef BOOL(* pNonMonitoredDesktop) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo)

◆ pNotifyIconCreate

typedef BOOL(* pNotifyIconCreate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const NOTIFY_ICON_STATE_ORDER *notify_icon_state)

◆ pNotifyIconDelete

typedef BOOL(* pNotifyIconDelete) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo)

◆ pNotifyIconUpdate

typedef BOOL(* pNotifyIconUpdate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const NOTIFY_ICON_STATE_ORDER *notify_icon_state)

◆ pWindowCachedIcon

typedef BOOL(* pWindowCachedIcon) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_CACHED_ICON_ORDER *window_cached_icon)

◆ pWindowCreate

typedef BOOL(* pWindowCreate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_STATE_ORDER *window_state)

◆ pWindowDelete

typedef BOOL(* pWindowDelete) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo)

◆ pWindowIcon

typedef BOOL(* pWindowIcon) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_ICON_ORDER *window_icon)

◆ pWindowUpdate

typedef BOOL(* pWindowUpdate) (rdpContext *context, const WINDOW_ORDER_INFO *orderInfo, const WINDOW_STATE_ORDER *window_state)