FreeRDP
xf_floatbar.c File Reference
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/extensions/shape.h>
#include <X11/extensions/Xfixes.h>
#include <X11/cursorfont.h>
#include "xf_floatbar.h"
#include "resource/close.xbm"
#include "resource/lock.xbm"
#include "resource/unlock.xbm"
#include "resource/minimize.xbm"
#include "resource/restore.xbm"

Macros

#define TAG   CLIENT_TAG("x11")
 
#define FLOATBAR_HEIGHT   26
 
#define FLOATBAR_DEFAULT_WIDTH   576
 
#define FLOATBAR_MIN_WIDTH   200
 
#define FLOATBAR_BORDER   24
 
#define FLOATBAR_BUTTON_WIDTH   24
 
#define FLOATBAR_COLOR_BACKGROUND   "RGB:31/6c/a9"
 
#define FLOATBAR_COLOR_BORDER   "RGB:75/9a/c8"
 
#define FLOATBAR_COLOR_FOREGROUND   "RGB:FF/FF/FF"
 
#define DEBUG_X11(...)   do { } while (0)
 
#define XF_FLOATBAR_MODE_NONE   0
 
#define XF_FLOATBAR_MODE_DRAGGING   1
 
#define XF_FLOATBAR_MODE_RESIZE_LEFT   2
 
#define XF_FLOATBAR_MODE_RESIZE_RIGHT   3
 
#define XF_FLOATBAR_BUTTON_CLOSE   1
 
#define XF_FLOATBAR_BUTTON_RESTORE   2
 
#define XF_FLOATBAR_BUTTON_MINIMIZE   3
 
#define XF_FLOATBAR_BUTTON_LOCKED   4
 

Functions

static void xf_floatbar_button_onclick_close (xfContext *xfc)
 
static void xf_floatbar_button_onclick_minimize (xfContext *xfc)
 
static void xf_floatbar_button_onclick_restore (xfContext *xfc)
 
static void xf_floatbar_button_onclick_locked (xfContext *xfc)
 
void xf_floatbar_set_root_y (xfContext *xfc, int y)
 
void xf_floatbar_hide_and_show (xfContext *xfc)
 
void xf_floatbar_toggle_visibility (xfContext *xfc, bool visible)
 
static xfFloatbarButton * xf_floatbar_new_button (xfContext *xfc, xfFloatbar *floatbar, int type)
 
xfFloatbar * xf_floatbar_new (xfContext *xfc, Window window)
 
static unsigned long xf_floatbar_get_color (xfContext *xfc, char *rgb_value)
 
static void xf_floatbar_event_expose (xfContext *xfc, XEvent *event)
 
static xfFloatbarButton * xf_floatbar_get_button (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_button_update_positon (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_button_event_expose (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_button_event_buttonpress (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_button_event_buttonrelease (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_event_buttonpress (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_event_buttonrelease (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_resize (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_dragging (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_event_motionnotify (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_button_event_focusin (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_button_event_focusout (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_event_focusout (xfContext *xfc, XEvent *event)
 
BOOL xf_floatbar_check_event (xfContext *xfc, XEvent *event)
 
BOOL xf_floatbar_event_process (xfContext *xfc, XEvent *event)
 
static void xf_floatbar_button_free (xfContext *xfc, xfFloatbarButton *button)
 
void xf_floatbar_free (xfContext *xfc, xfWindow *window, xfFloatbar *floatbar)
 

Macro Definition Documentation

#define DEBUG_X11 (   ...)    do { } while (0)
#define FLOATBAR_BORDER   24
#define FLOATBAR_BUTTON_WIDTH   24
#define FLOATBAR_COLOR_BACKGROUND   "RGB:31/6c/a9"
#define FLOATBAR_COLOR_BORDER   "RGB:75/9a/c8"
#define FLOATBAR_COLOR_FOREGROUND   "RGB:FF/FF/FF"
#define FLOATBAR_DEFAULT_WIDTH   576
#define FLOATBAR_HEIGHT   26
#define FLOATBAR_MIN_WIDTH   200
#define TAG   CLIENT_TAG("x11")

FreeRDP: A Remote Desktop Protocol Implementation X11 Windows

Licensed under the Apache License, Version 2.0 (the "License");n 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.

#define XF_FLOATBAR_BUTTON_CLOSE   1
#define XF_FLOATBAR_BUTTON_LOCKED   4
#define XF_FLOATBAR_BUTTON_MINIMIZE   3
#define XF_FLOATBAR_BUTTON_RESTORE   2
#define XF_FLOATBAR_MODE_DRAGGING   1
#define XF_FLOATBAR_MODE_NONE   0
#define XF_FLOATBAR_MODE_RESIZE_LEFT   2
#define XF_FLOATBAR_MODE_RESIZE_RIGHT   3

Function Documentation

static void xf_floatbar_button_event_buttonpress ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_event_buttonrelease ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_event_expose ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_event_focusin ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_event_focusout ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_free ( xfContext *  xfc,
xfFloatbarButton *  button 
)
static

Here is the caller graph for this function:

static void xf_floatbar_button_onclick_close ( xfContext *  xfc)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_onclick_locked ( xfContext *  xfc)
static

Here is the caller graph for this function:

static void xf_floatbar_button_onclick_minimize ( xfContext *  xfc)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_onclick_restore ( xfContext *  xfc)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_button_update_positon ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL xf_floatbar_check_event ( xfContext *  xfc,
XEvent *  event 
)

Here is the caller graph for this function:

static void xf_floatbar_dragging ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the caller graph for this function:

static void xf_floatbar_event_buttonpress ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the caller graph for this function:

static void xf_floatbar_event_buttonrelease ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the caller graph for this function:

static void xf_floatbar_event_expose ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_event_focusout ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the caller graph for this function:

static void xf_floatbar_event_motionnotify ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL xf_floatbar_event_process ( xfContext *  xfc,
XEvent *  event 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void xf_floatbar_free ( xfContext *  xfc,
xfWindow *  window,
xfFloatbar *  floatbar 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static xfFloatbarButton* xf_floatbar_get_button ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the caller graph for this function:

static unsigned long xf_floatbar_get_color ( xfContext *  xfc,
char *  rgb_value 
)
static

Here is the caller graph for this function:

void xf_floatbar_hide_and_show ( xfContext *  xfc)

Here is the caller graph for this function:

xfFloatbar* xf_floatbar_new ( xfContext *  xfc,
Window  window 
)

Here is the call graph for this function:

Here is the caller graph for this function:

static xfFloatbarButton* xf_floatbar_new_button ( xfContext *  xfc,
xfFloatbar *  floatbar,
int  type 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void xf_floatbar_resize ( xfContext *  xfc,
XEvent *  event 
)
static

Here is the caller graph for this function:

void xf_floatbar_set_root_y ( xfContext *  xfc,
int  y 
)

Here is the caller graph for this function:

void xf_floatbar_toggle_visibility ( xfContext *  xfc,
bool  visible 
)

Here is the caller graph for this function: