Convert zoom and videorecord to plugins.
svn path=/branches/work/kwin_composite/; revision=652616
This commit is contained in:
parent
ef0fee3633
commit
8973e88245
8 changed files with 36 additions and 29 deletions
|
@ -17,13 +17,6 @@ include_directories(
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/effects
|
${CMAKE_CURRENT_SOURCE_DIR}/effects
|
||||||
)
|
)
|
||||||
|
|
||||||
include(UsePkgConfig)
|
|
||||||
PKGCONFIG(libcaptury CAPTURY_INCLUDES CAPTURY_LINK_DIR CAPTURY_LDFLAGS CAPTURY_CFLAGS)
|
|
||||||
if( CAPTURY_LDFLAGS )
|
|
||||||
SET( CAPTURY_FOUND TRUE )
|
|
||||||
endif( CAPTURY_LDFLAGS )
|
|
||||||
macro_bool_to_01( CAPTURY_FOUND HAVE_CAPTURY )
|
|
||||||
|
|
||||||
configure_file(config-kwin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kwin.h )
|
configure_file(config-kwin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kwin.h )
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
|
@ -93,10 +86,6 @@ endif (X11_Xrender_FOUND)
|
||||||
if (X11_Xfixes_FOUND)
|
if (X11_Xfixes_FOUND)
|
||||||
target_link_libraries(kdeinit_kwin ${X11_Xfixes_LIB})
|
target_link_libraries(kdeinit_kwin ${X11_Xfixes_LIB})
|
||||||
endif (X11_Xfixes_FOUND)
|
endif (X11_Xfixes_FOUND)
|
||||||
if( HAVE_CAPTURY )
|
|
||||||
target_link_libraries(kdeinit_kwin ${CAPTURY_LDFLAGS})
|
|
||||||
endif( HAVE_CAPTURY )
|
|
||||||
|
|
||||||
|
|
||||||
install(TARGETS kdeinit_kwin DESTINATION ${LIB_INSTALL_DIR} )
|
install(TARGETS kdeinit_kwin DESTINATION ${LIB_INSTALL_DIR} )
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ macro(KWIN4_ADD_EFFECT name)
|
||||||
install(TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR})
|
install(TARGETS kwin4_effect_${name} DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||||
endmacro(KWIN4_ADD_EFFECT)
|
endmacro(KWIN4_ADD_EFFECT)
|
||||||
|
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${CMAKE_SOURCE_DIR}/workspace/kwin/lib
|
${CMAKE_SOURCE_DIR}/workspace/kwin/lib
|
||||||
)
|
)
|
||||||
|
@ -20,17 +19,30 @@ include_directories(
|
||||||
SET(kwin4_effect_builtins_sources
|
SET(kwin4_effect_builtins_sources
|
||||||
presentwindows.cpp
|
presentwindows.cpp
|
||||||
diminactive.cpp
|
diminactive.cpp
|
||||||
|
zoom.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if(OPENGL_FOUND)
|
if(OPENGL_FOUND)
|
||||||
SET(kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
|
SET(kwin4_effect_builtins_sources ${kwin4_effect_builtins_sources}
|
||||||
shadow.cpp
|
shadow.cpp
|
||||||
showfps.cpp
|
showfps.cpp
|
||||||
)
|
)
|
||||||
install( FILES
|
install( FILES
|
||||||
shadow.desktop
|
shadow.desktop
|
||||||
showfps.desktop
|
showfps.desktop
|
||||||
DESTINATION ${DATA_INSTALL_DIR}/kwin/effects )
|
DESTINATION ${DATA_INSTALL_DIR}/kwin/effects )
|
||||||
|
|
||||||
|
include(UsePkgConfig)
|
||||||
|
PKGCONFIG(libcaptury CAPTURY_INCLUDES CAPTURY_LINK_DIR CAPTURY_LDFLAGS CAPTURY_CFLAGS)
|
||||||
|
if( CAPTURY_LDFLAGS )
|
||||||
|
SET( CAPTURY_FOUND TRUE )
|
||||||
|
endif( CAPTURY_LDFLAGS )
|
||||||
|
macro_bool_to_01( CAPTURY_FOUND HAVE_CAPTURY )
|
||||||
|
if( HAVE_CAPTURY )
|
||||||
|
KWIN4_ADD_EFFECT(videorecord videorecord.cpp)
|
||||||
|
target_link_libraries(kwin4_effect_videorecord ${CAPTURY_LDFLAGS})
|
||||||
|
install( FILES videorecord.desktop DESTINATION ${DATA_INSTALL_DIR}/kwin/effects )
|
||||||
|
endif( HAVE_CAPTURY )
|
||||||
endif(OPENGL_FOUND)
|
endif(OPENGL_FOUND)
|
||||||
|
|
||||||
if (X11_Xrender_FOUND)
|
if (X11_Xrender_FOUND)
|
||||||
|
@ -41,4 +53,6 @@ KWIN4_ADD_EFFECT(builtins ${kwin4_effect_builtins_sources})
|
||||||
install( FILES
|
install( FILES
|
||||||
presentwindows.desktop
|
presentwindows.desktop
|
||||||
diminactive.desktop
|
diminactive.desktop
|
||||||
|
zoom.desktop
|
||||||
DESTINATION ${DATA_INSTALL_DIR}/kwin/effects )
|
DESTINATION ${DATA_INSTALL_DIR}/kwin/effects )
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,6 @@ License. See the file "COPYING" for the exact licensing terms.
|
||||||
#include <kactioncollection.h>
|
#include <kactioncollection.h>
|
||||||
#include <klocale.h>
|
#include <klocale.h>
|
||||||
|
|
||||||
#include <workspace.h>
|
|
||||||
|
|
||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
|
|
||||||
namespace KWin
|
namespace KWin
|
||||||
|
@ -117,7 +115,7 @@ void VideoRecordEffect::startRecording()
|
||||||
kDebug( 1212 ) << "Video recording file open failed" << endl;
|
kDebug( 1212 ) << "Video recording file open failed" << endl;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
workspace()->addRepaintFull(); // trigger reading initial screen contents into buffer
|
effects->addRepaintFull(); // trigger reading initial screen contents into buffer
|
||||||
kDebug( 1212 ) << "Video recording start" << endl;
|
kDebug( 1212 ) << "Video recording start" << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
4
effects/videorecord.desktop
Normal file
4
effects/videorecord.desktop
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Name=Videorecord
|
||||||
|
X-KDE-Library=kwin4_effect_videorecord
|
|
@ -11,7 +11,7 @@ License. See the file "COPYING" for the exact licensing terms.
|
||||||
#ifndef KWIN_VIDEO_H
|
#ifndef KWIN_VIDEO_H
|
||||||
#define KWIN_VIDEO_H
|
#define KWIN_VIDEO_H
|
||||||
|
|
||||||
#include <effects.h>
|
#include <kwineffects.h>
|
||||||
|
|
||||||
#include <captury/captury.h>
|
#include <captury/captury.h>
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,6 @@ License. See the file "COPYING" for the exact licensing terms.
|
||||||
|
|
||||||
#include "zoom.h"
|
#include "zoom.h"
|
||||||
|
|
||||||
#include <workspace.h>
|
|
||||||
|
|
||||||
namespace KWin
|
namespace KWin
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -32,7 +30,7 @@ void ZoomEffect::prePaintScreen( int* mask, QRegion* region, int time )
|
||||||
zoom = qMax( zoom - diff, target_zoom );
|
zoom = qMax( zoom - diff, target_zoom );
|
||||||
}
|
}
|
||||||
if( zoom != 1.0 )
|
if( zoom != 1.0 )
|
||||||
*mask |= Scene::PAINT_SCREEN_TRANSFORMED;
|
*mask |= PAINT_SCREEN_TRANSFORMED;
|
||||||
effects->prePaintScreen( mask, region, time );
|
effects->prePaintScreen( mask, region, time );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,7 +51,7 @@ void ZoomEffect::paintScreen( int mask, QRegion region, ScreenPaintData& data )
|
||||||
void ZoomEffect::postPaintScreen()
|
void ZoomEffect::postPaintScreen()
|
||||||
{
|
{
|
||||||
if( zoom != target_zoom )
|
if( zoom != target_zoom )
|
||||||
workspace()->addRepaintFull();
|
effects->addRepaintFull();
|
||||||
effects->postPaintScreen();
|
effects->postPaintScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
4
effects/zoom.desktop
Normal file
4
effects/zoom.desktop
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Encoding=UTF-8
|
||||||
|
Name=Zoom
|
||||||
|
X-KDE-Library=kwin4_effect_builtins
|
|
@ -11,7 +11,7 @@ License. See the file "COPYING" for the exact licensing terms.
|
||||||
#ifndef KWIN_ZOOM_H
|
#ifndef KWIN_ZOOM_H
|
||||||
#define KWIN_ZOOM_H
|
#define KWIN_ZOOM_H
|
||||||
|
|
||||||
#include <effects.h>
|
#include <kwineffects.h>
|
||||||
|
|
||||||
namespace KWin
|
namespace KWin
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue