xfreerdp-server: add missing FindXfixes.cmake
This commit is contained in:
parent
3a8c439837
commit
9ef0995fda
49
cmake/FindXfixes.cmake
Normal file
49
cmake/FindXfixes.cmake
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# - Find XFIXES
|
||||||
|
# Find the XFIXES libraries
|
||||||
|
#
|
||||||
|
# This module defines the following variables:
|
||||||
|
# XFIXES_FOUND - true if XFIXES_INCLUDE_DIR & XFIXES_LIBRARY are found
|
||||||
|
# XFIXES_LIBRARIES - Set when XFIXES_LIBRARY is found
|
||||||
|
# XFIXES_INCLUDE_DIRS - Set when XFIXES_INCLUDE_DIR is found
|
||||||
|
#
|
||||||
|
# XFIXES_INCLUDE_DIR - where to find Xfixes.h, etc.
|
||||||
|
# XFIXES_LIBRARY - the XFIXES library
|
||||||
|
#
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2011 O.S. Systems Software Ltda.
|
||||||
|
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||||
|
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.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.
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
find_path(XFIXES_INCLUDE_DIR NAMES Xfixes.h
|
||||||
|
PATH_SUFFIXES X11/extensions
|
||||||
|
DOC "The Xfixes include directory"
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(XFIXES_LIBRARY NAMES Xfixes
|
||||||
|
DOC "The Xfixes library"
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XFIXES DEFAULT_MSG XFIXES_LIBRARY XFIXES_INCLUDE_DIR)
|
||||||
|
|
||||||
|
if(XFIXES_FOUND)
|
||||||
|
set( XFIXES_LIBRARIES ${XFIXES_LIBRARY} )
|
||||||
|
set( XFIXES_INCLUDE_DIRS ${XFIXES_INCLUDE_DIR} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
mark_as_advanced(XFIXES_INCLUDE_DIR XFIXES_LIBRARY)
|
||||||
|
|
@ -214,6 +214,28 @@ STREAM* xf_peer_stream_init(xfPeerContext* context)
|
|||||||
return context->s;
|
return context->s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean xf_peer_event_process(xfPeerContext* xfp, XEvent* event)
|
||||||
|
{
|
||||||
|
xfInfo* xfi = xfp->info;
|
||||||
|
|
||||||
|
if (event->type == xfi->xdamage_notify_event)
|
||||||
|
{
|
||||||
|
int x, y, width, height;
|
||||||
|
XDamageNotifyEvent* notify;
|
||||||
|
|
||||||
|
notify = (XDamageNotifyEvent*) event;
|
||||||
|
|
||||||
|
x = notify->area.x;
|
||||||
|
y = notify->area.y;
|
||||||
|
width = notify->area.width;
|
||||||
|
height = notify->area.height;
|
||||||
|
|
||||||
|
printf("XDamageNotify: x:%d y:%d width:%d height:%d\n", x, y, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void xf_peer_live_rfx(freerdp_peer* client)
|
void xf_peer_live_rfx(freerdp_peer* client)
|
||||||
{
|
{
|
||||||
STREAM* s;
|
STREAM* s;
|
||||||
@ -222,6 +244,7 @@ void xf_peer_live_rfx(freerdp_peer* client)
|
|||||||
uint8* data;
|
uint8* data;
|
||||||
xfInfo* xfi;
|
xfInfo* xfi;
|
||||||
XImage* image;
|
XImage* image;
|
||||||
|
XEvent xevent;
|
||||||
RFX_RECT rect;
|
RFX_RECT rect;
|
||||||
uint32 seconds;
|
uint32 seconds;
|
||||||
uint32 useconds;
|
uint32 useconds;
|
||||||
@ -240,6 +263,18 @@ void xf_peer_live_rfx(freerdp_peer* client)
|
|||||||
height = xfi->height;
|
height = xfi->height;
|
||||||
data = (uint8*) xmalloc(width * height * 3);
|
data = (uint8*) xmalloc(width * height * 3);
|
||||||
|
|
||||||
|
memset(&xevent, 0, sizeof(xevent));
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
while (XPending(xfi->display))
|
||||||
|
{
|
||||||
|
memset(&xevent, 0, sizeof(xevent));
|
||||||
|
XNextEvent(xfi->display, &xevent);
|
||||||
|
|
||||||
|
if (xf_peer_event_process(xfp, &xevent) != true)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#else
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
if (seconds > 0)
|
if (seconds > 0)
|
||||||
@ -271,6 +306,7 @@ void xf_peer_live_rfx(freerdp_peer* client)
|
|||||||
cmd->bitmapData = stream_get_head(s);
|
cmd->bitmapData = stream_get_head(s);
|
||||||
update->SurfaceBits(update->context, cmd);
|
update->SurfaceBits(update->context, cmd);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean xf_peer_sleep_tsdiff(uint32 *old_sec, uint32 *old_usec, uint32 new_sec, uint32 new_usec)
|
static boolean xf_peer_sleep_tsdiff(uint32 *old_sec, uint32 *old_usec, uint32 new_sec, uint32 new_usec)
|
||||||
@ -385,6 +421,7 @@ boolean xf_peer_post_connect(freerdp_peer* client)
|
|||||||
|
|
||||||
client->settings->width = xfi->width;
|
client->settings->width = xfi->width;
|
||||||
client->settings->height = xfi->height;
|
client->settings->height = xfi->height;
|
||||||
|
|
||||||
client->update->DesktopResize(client->update->context);
|
client->update->DesktopResize(client->update->context);
|
||||||
xfp->activated = false;
|
xfp->activated = false;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user