Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Tusooa Zhu
Krita
Commits
ec32e6dc
Commit
ec32e6dc
authored
Apr 03, 2007
by
Adrian Page
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix the jitter when scrolling the OpenGL canvas in krita.
svn path=/trunk/koffice/; revision=650112
parent
b6d523b4
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
58 additions
and
22 deletions
+58
-22
CMakeLists.txt
CMakeLists.txt
+17
-0
krita/CMakeLists.txt
krita/CMakeLists.txt
+0
-16
krita/config-krita.h.cmake
krita/config-krita.h.cmake
+0
-3
krita/ui/kis_dlg_preferences.cc
krita/ui/kis_dlg_preferences.cc
+1
-0
krita/ui/kis_grid_drawer.cpp
krita/ui/kis_grid_drawer.cpp
+1
-0
krita/ui/kis_grid_manager.cpp
krita/ui/kis_grid_manager.cpp
+1
-0
krita/ui/kis_opengl_canvas2.h
krita/ui/kis_opengl_canvas2.h
+3
-0
krita/ui/kis_opengl_image_context.cc
krita/ui/kis_opengl_image_context.cc
+1
-0
krita/ui/kis_opengl_image_context.h
krita/ui/kis_opengl_image_context.h
+1
-0
libs/flake/CMakeLists.txt
libs/flake/CMakeLists.txt
+4
-0
libs/flake/KoCanvasController.cpp
libs/flake/KoCanvasController.cpp
+28
-3
libs/flake/KoCanvasController.h
libs/flake/KoCanvasController.h
+1
-0
No files found.
CMakeLists.txt
View file @
ec32e6dc
...
...
@@ -44,6 +44,23 @@ macro_optional_find_package(OpenEXR)
macro_bool_to_01
(
OPENEXR_FOUND HAVE_OPENEXR
)
configure_file
(
config-openexr.h.cmake
${
CMAKE_CURRENT_BINARY_DIR
}
/config-openexr.h
)
macro_optional_find_package
(
OpenGL
)
set
(
HAVE_OPENGL 0
)
if
(
OPENGL_FOUND
)
message
(
STATUS
"Found OpenGL:
${
OPENGL_LIBRARIES
}
"
)
if
(
QT_QTOPENGL_FOUND
)
message
(
STATUS
"Found Qt OpenGL support"
)
set
(
HAVE_OPENGL 1
)
else
(
QT_QTOPENGL_FOUND
)
message
(
STATUS
"Did NOT find Qt OpenGL support. Check your Qt configuration"
)
endif
(
QT_QTOPENGL_FOUND
)
else
(
OPENGL_FOUND
)
message
(
STATUS
"Did NOT find OpenGL libraries"
)
endif
(
OPENGL_FOUND
)
configure_file
(
config-opengl.h.cmake
${
CMAKE_CURRENT_BINARY_DIR
}
/config-opengl.h
)
include
(
TestBigEndian
)
TEST_BIG_ENDIAN
(
CMAKE_WORDS_BIGENDIAN
)
configure_file
(
config-endian.h.cmake
${
CMAKE_CURRENT_BINARY_DIR
}
/config-endian.h
)
...
...
krita/CMakeLists.txt
View file @
ec32e6dc
...
...
@@ -5,22 +5,6 @@ include(CheckFunctionExists)
if
(
SHOULD_BUILD_KRITA
)
macro_optional_find_package
(
OpenGL
)
set
(
HAVE_OPENGL 0
)
if
(
OPENGL_FOUND
)
message
(
STATUS
"Found OpenGL:
${
OPENGL_LIBRARIES
}
"
)
if
(
QT_QTOPENGL_FOUND
)
message
(
STATUS
"Found Qt OpenGL support"
)
set
(
HAVE_OPENGL 1
)
else
(
QT_QTOPENGL_FOUND
)
message
(
STATUS
"Did NOT find Qt OpenGL support. Check your Qt configuration"
)
endif
(
QT_QTOPENGL_FOUND
)
else
(
OPENGL_FOUND
)
message
(
STATUS
"Did NOT find OpenGL libraries"
)
endif
(
OPENGL_FOUND
)
if
(
NOT HAVE_OPENGL
)
message
(
STATUS
" * krita will not be able to use OpenGL for"
)
message
(
STATUS
" hardware accelerated rendering."
)
...
...
krita/config-krita.h.cmake
View file @
ec32e6dc
/* config-krita.h. Generated by cmake from config-krita.h.cmake */
/* Defines if you have
GL
(
Mesa, OpenGL, ...
)
*/
#cmakedefine HAVE_OPENGL 1
/* Define if you have the X11 Input Extension */
#cmakedefine HAVE_XINPUTEXT 1
...
...
krita/ui/kis_dlg_preferences.cc
View file @
ec32e6dc
...
...
@@ -19,6 +19,7 @@
*/
#include <config-krita.h>
#include <config-opengl.h>
#include <QBitmap>
#include <QCheckBox>
...
...
krita/ui/kis_grid_drawer.cpp
View file @
ec32e6dc
...
...
@@ -21,6 +21,7 @@
#include "kis_grid_drawer.h"
#include <config-krita.h>
#include <config-opengl.h>
#ifdef HAVE_OPENGL
#include <qgl.h>
...
...
krita/ui/kis_grid_manager.cpp
View file @
ec32e6dc
...
...
@@ -21,6 +21,7 @@
#include "kis_grid_manager.h"
#include <config-krita.h>
#include <config-opengl.h>
#ifdef HAVE_OPENGL
#include <qgl.h>
...
...
krita/ui/kis_opengl_canvas2.h
View file @
ec32e6dc
...
...
@@ -18,7 +18,10 @@
#ifndef KIS_OPENGL_CANVAS_2_H
#define KIS_OPENGL_CANVAS_2_H
#include "config-krita.h"
#include "config-opengl.h"
#ifdef HAVE_OPENGL
#include <QGLWidget>
...
...
krita/ui/kis_opengl_image_context.cc
View file @
ec32e6dc
...
...
@@ -17,6 +17,7 @@
*/
#include <config-krita.h>
#include <config-opengl.h>
#ifdef HAVE_OPENGL
...
...
krita/ui/kis_opengl_image_context.h
View file @
ec32e6dc
...
...
@@ -19,6 +19,7 @@
#define KIS_OPENGL_IMAGE_CONTEXT_H_
#include <config-krita.h>
#include <config-opengl.h>
#ifdef HAVE_OPENGL
...
...
libs/flake/CMakeLists.txt
View file @
ec32e6dc
...
...
@@ -102,6 +102,10 @@ kde4_add_library(flake SHARED ${flake_SRCS})
target_link_libraries
(
flake
${
KDE4_KDEUI_LIBS
}
kofficecore pigment
)
if
(
HAVE_OPENGL
)
target_link_libraries
(
flake
${
OPENGL_LIBRARIES
}
${
QT_QTOPENGL_LIBRARY
}
)
endif
(
HAVE_OPENGL
)
set_target_properties
(
flake PROPERTIES VERSION
${
GENERIC_KOFFICE_LIB_VERSION
}
SOVERSION
${
GENERIC_KOFFICE_LIB_SOVERSION
}
)
########### install files ###############
...
...
libs/flake/KoCanvasController.cpp
View file @
ec32e6dc
...
...
@@ -35,6 +35,12 @@
#include <QScrollBar>
#include <QEvent>
#include <config-opengl.h>
#ifdef HAVE_OPENGL
#include <QGLWidget>
#endif
class
KoCanvasController
::
Private
{
public:
...
...
@@ -342,14 +348,33 @@ void KoCanvasController::setDocumentOffset()
if
(
pt
.
y
()
>
m_d
->
documentSize
.
height
()
)
pt
.
setY
(
m_d
->
documentSize
.
height
()
);
emit
(
moveDocumentOffset
(
pt
)
);
if
(
m_d
->
canvas
->
canvasWidget
())
{
QPoint
diff
=
m_d
->
documentOffset
-
pt
;
m_d
->
canvas
->
canvasWidget
()
->
scroll
(
diff
.
x
(),
diff
.
y
());
QWidget
*
canvasWidget
=
m_d
->
canvas
->
canvasWidget
();
if
(
canvasWidget
)
{
if
(
!
canvasIsOpenGL
())
{
QPoint
diff
=
m_d
->
documentOffset
-
pt
;
canvasWidget
->
scroll
(
diff
.
x
(),
diff
.
y
());
}
}
m_d
->
documentOffset
=
pt
;
}
bool
KoCanvasController
::
canvasIsOpenGL
()
const
{
QWidget
*
canvasWidget
=
m_d
->
canvas
->
canvasWidget
();
if
(
canvasWidget
)
{
#ifdef HAVE_OPENGL
if
(
qobject_cast
<
QGLWidget
*>
(
canvasWidget
)
!=
0
)
{
return
true
;
}
#endif
}
return
false
;
}
void
KoCanvasController
::
resetScrollBars
()
{
// The scrollbar value always points at the top-left corner of the
...
...
libs/flake/KoCanvasController.h
View file @
ec32e6dc
...
...
@@ -281,6 +281,7 @@ private:
void
setDocumentOffset
();
void
resetScrollBars
();
bool
canvasIsOpenGL
()
const
;
private:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment