xfreerdp-client: cmake hacks for imagemagick

This commit is contained in:
C-o-r-E 2013-04-29 20:21:59 -04:00
parent 58e92b7213
commit adfaf2b8c4
2 changed files with 45 additions and 4 deletions

View File

@ -138,6 +138,21 @@ if(WITH_XI)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${XI_LIBRARIES})
endif()
#find_package(ImageMagick COMPONENTS MagickCore)
#include_directories(${ImageMagick_MagickCore_INCLUDE_DIRS})
#set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ImageMagick_MagickCore_LIBRARIES})
#SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /usr/include/ImageMagick-6)
#SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -I/usr/include/ImageMagick-6)
#message(Found MagickCore: ${ImageMagick_MagickCore_FOUND})
#message(INCLUDE: ${ImageMagick_MagickCore_INCLUDE_DIRS})
#message(LIBS: ${${MODULE_PREFIX}_LIBS})
include_directories(/usr/include/ImageMagick-6)
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} /usr/lib64/libMagickCore-6.Q16.so)
include_directories(${CMAKE_SOURCE_DIR}/resources)

View File

@ -80,11 +80,24 @@
#include "xf_keyboard.h"
#include "xf_input.h"
static int run = 0;
#include <magick/MagickCore.h>
static int initialized_xi = 0;
static int rtest = 0;
static long xv_port = 0;
static const size_t password_size = 512;
void testIM()
{
Image im;
MagickCoreGenesis("/tmp/", MagickTrue);
return;
}
/* Upscaling the image uses simple bilinear interpolation */
int up_scale_image(
const unsigned char* const orig,
@ -197,6 +210,8 @@ void xf_sw_end_paint(rdpContext* context)
xf_lock_x11(xfi, FALSE);
printf("sw1");
XPutImage(xfi->display, xfi->primary, xfi->gc, xfi->image, x, y, x, y, w, h);
XCopyArea(xfi->display, xfi->primary, xfi->window->handle, xfi->gc, x, y, w, h, x, y);
@ -223,7 +238,14 @@ void xf_sw_end_paint(rdpContext* context)
w = cinvalid[i].w;
h = cinvalid[i].h;
//here
//here --sw
if(rtest < 10)
{
rtest++;
printf("first rect: %dx%d @ (%d, %d)\n", w, h, x, y);
}
XPutImage(xfi->display, xfi->primary, xfi->gc, xfi->image, x, y, x, y, w, h);
XCopyArea(xfi->display, xfi->primary, xfi->window->handle, xfi->gc, x, y, w, h, x, y);
@ -310,6 +332,8 @@ void xf_hw_end_paint(rdpContext* context)
xf_lock_x11(xfi, FALSE);
printf("hw1");
XCopyArea(xfi->display, xfi->primary, xfi->drawable, xfi->gc, x, y, w, h, x, y);
xf_unlock_x11(xfi, FALSE);
@ -339,6 +363,8 @@ void xf_hw_end_paint(rdpContext* context)
}
printf("hw1");
XFlush(xfi->display);
xf_unlock_x11(xfi, FALSE);
@ -422,9 +448,9 @@ BOOL xf_process_x_events(freerdp* instance)
int pending_status;
xfInfo* xfi = ((xfContext*) instance->context)->xfi;
if (run == 0)
if (initialized_xi == 0)
{
run++;
initialized_xi++;
xf_input_init(xfi);
}