Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

Commit dc907c03 authored by Boudewijn Rempt's avatar Boudewijn Rempt

Big one this. I reorganized our plugins layout and the loading of plugins

a lot. I did test by compiling with an uninstalled koffice, but it's not
unlikely that there will be some fallout -- and there are many new directories
and Makefile.am's.

svn path=/trunk/koffice/; revision=475094
parent 397a14b6
INCLUDES = $(srcdir) $(KOFFICE_INCLUDES) $(KOPAINTER_INCLUDES) $(all_includes)
INCLUDES = $(KOFFICE_INCLUDES) $(KOPAINTER_INCLUDES) $(all_includes)
## The common lib, shared between the part, the plugins, and the filters
lib_LTLIBRARIES = libkritacommon.la
......@@ -27,7 +27,7 @@ kdemimedir = $(kde_mimedir)/application
rcdir = $(kde_datadir)/krita
rc_DATA = krita.rc krita_readonly.rc
SUBDIRS = sdk kritacolor core ui . dtd paintops tools modules plugins data pics
SUBDIRS = sdk kritacolor core ui . dtd colorspaces plugins data pics
# Needed to compile libkritacommon.la, which has no source files to itself
# but everything in static libs.
dummycommon.cc:
......
......@@ -4,24 +4,6 @@ Code organization
Problem: what to do when it is useful for plugins to derive from a base class with some default functionality. Composition
with delegation here? Go through patterns book.
* Separate the core Krita image library from the part; place the former in krita/libkrita and the latter in krita/kritapart
* Reorganize plugin directories as follows:
plugins/
tools/
/defaultools
/selectiontools
/...
filters/
/...
colorspaces/
/rgbu8
/rgbu16
/...
paintops/
/...
extensions
/imagesize
/...
Bugs
* On opening a second image after loading first image but not changing it,
......@@ -80,7 +62,7 @@ Colorspace independence (found with the test colorstrategy)
* Check and double check the cms capabilities: especially the use of
profiles in the render/convert/edit paths.
* Merge grayscale layers back into one color image.
* Floodfill is not cs independent -- or if its, cmyk floodfill is broken.
* Allow both simply setting the profile and converting to the new profile
Core
......@@ -103,8 +85,8 @@ Core
progressbar and be cancelable.
* On copying paint devices, do not actually copy the tiles, but only create
new tiles when there is change. Also create a memory pool for creating new tiles (BART)
* Color adjustment filters seem to have a problem with partially selected pixels
* Color adjustment (the perchannel filter) modifies brightness and not the individual channels (CBR)
* Color adjustment filters seem to have a problem with partially selected pixels
* Color adjustment (the perchannel filter) modifies brightness and not the individual channels (CBR)
File Format:
......@@ -170,8 +152,6 @@ User Interface
it onto a background image -- or not, if another KOffice app wants it
rendered with transparency. But that'd probably better wait until Qt 4,
where it would be a hardware accelerated snip.
* the screenshot tool wants to close the current document before it can do
its work, what about making it snapshot to a new layer?
* Doing a copy of a selection, but having the wrong layer selected gives
me an empty selection (all transparent). Pressing paste should say so
(popup) instead of creating a new useless layer.
......@@ -194,26 +174,25 @@ Selections
* On shearing, the whole image is mirrored, not the selected
bits.
* Add opacity slider to selection painting tools so you can
* Add opacity slider to selection painting tools so you can
select something 50%.
Profiles
* Add an input profile combobox to the import image & scan dialogs
* Add an export profile combobox to the export image/print dialogs
* Add loading and saving of profiles associated with images in .krita
* Add loading and saving of profiles associated with images in .krita
files.
* Export profiles in tiff, png and jpg (this and the previous item
depend on ImageMagick or GraphicsMagick supporting this in some way.)
* Support out-of-gamut warning indications for parts of an image
containing unprintable colours (no idea how to implement this). -> this
is pretty easy with lcms
* Export profiles in tiff, png and jpg (this and the previous item
depend on ImageMagick or GraphicsMagick supporting this in some way.)
* Support out-of-gamut warning indications for parts of an image
containing unprintable colours (no idea how to implement this). -> this
is pretty easy with lcms
* preferences dialog can show non-existent profile for the monitor profile -> confusing
Tools
* All tools must have a tool options tab (#Boudewijn, Adrian, Cyrille)
* Zoom tool should zoom out when alt is pressed. Show zoom-minus cursor in that case
* Implement the following tools or paintops:
- fix airbrush tool (add rate option, add increase
......@@ -228,7 +207,7 @@ Tools
- calligraphic pen tool
* Pressure sensivitize all relevant tools (e.g. line tool)
* Add resize slider to freehand tools that resizes the mean brush size.
* Add resize slider to freehand tools that resizes the mean brush size.
* Implement path tools (Michael Thaler?)
* Sumi-e brush tool
* Natural media tools (chalk, ink, oil, watercolour -- fun!)
......@@ -253,7 +232,3 @@ Printing
* No use of the resolution parameter (but the resolution dialog is still only a .ui file and not implemented at all)
* Use gutenprint or something better for image printing.
Paintops
*core The convolution paintop doesn't do anything at all -- but it can be used using paint-by-filters.
# location for the rc file
kde_services_DATA = krita_cmyk_u16_plugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = -I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy/ \
-I$(srcdir)/../../kritacolor/ \
......
#kritarcdir = $(kde_datadir)/krita/kpartplugins
#kritarc_DATA = cmykplugin.rc
kde_services_DATA = kritacmykplugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = -I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy \
-I$(srcdir)/../../kritacolor \
......
# location for the rc file
kde_services_DATA = krita_gray_u16_plugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = -I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy \
-I$(srcdir)/../../kritacolor/ \
......@@ -25,9 +23,7 @@ krita_gray_u16_plugin_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN)
krita_gray_u16_plugin_la_LIBADD = libkrita_gray_u16.la ../../kritacolor/libkritacolor.la
krita_gray_u16_plugin_la_METASOURCES = AUTO
#METASOURCES = AUTO # XXX: which of the two?
SUBDIRS = .
#$(TESTSDIR)
# Install the desktop file needed to detect the plugin
kde_services_DATA = krita_lms_f32_plugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = \
-I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy/ \
......@@ -27,7 +25,4 @@ krita_lms_f32_plugin_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN)
krita_lms_f32_plugin_la_LIBADD = libkrita_lms_f32.la ../../kritacolor/libkritacolor.la
krita_lms_f32_plugin_la_METASOURCES = AUTO
#METASOURCES = AUTO # XXX: which of the two?
# SUBDIRS = . $(TESTSDIR)
# Install the desktop file needed to detect the plugin
kde_services_DATA = krita_rgb_f16half_plugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = \
-I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy/ \
......@@ -28,7 +26,6 @@ krita_rgb_f16half_plugin_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN)
krita_rgb_f16half_plugin_la_LIBADD = libkrita_rgb_f16half.la ../../kritacolor/libkritacolor.la
krita_rgb_f16half_plugin_la_METASOURCES = AUTO
#METASOURCES = AUTO # XXX: which of the two?
if include_kunittest_tests
TESTSDIR = tests
......
# Install the desktop file needed to detect the plugin
kde_services_DATA = krita_rgb_f32_plugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = \
-I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy/ \
......@@ -27,7 +25,6 @@ krita_rgb_f32_plugin_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN)
krita_rgb_f32_plugin_la_LIBADD = libkrita_rgb_f32.la ../../kritacolor/libkritacolor.la
krita_rgb_f32_plugin_la_METASOURCES = AUTO
#METASOURCES = AUTO # XXX: which of the two?
if include_kunittest_tests
TESTSDIR = tests
......
# location for the rc file
kde_services_DATA = krita_rgb_u16_plugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = -I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy/ \
-I$(srcdir)/../../kritacolor \
......@@ -25,7 +23,6 @@ krita_rgb_u16_plugin_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN)
krita_rgb_u16_plugin_la_LIBADD = libkrita_rgb_u16.la ../../kritacolor/libkritacolor.la
krita_rgb_u16_plugin_la_METASOURCES = AUTO
#METASOURCES = AUTO # XXX: which of the two?
if include_kunittest_tests
TESTSDIR = tests
......
# location for the rc file
#kritarcdir = $(kde_datadir)/krita/kpartplugins
# rc file containing the GUI for the plugin
#kritarc_DATA = rgbplugin.rc
# Install the desktop file needed to detect the plugin
kde_services_DATA = kritargbplugin.desktop
#EXTRA_DIST = $(kritarc_DATA)
INCLUDES = -I$(srcdir)/../../sdk \
-I$(srcdir)/../../kritacolor/color_strategy/ \
-I$(srcdir)/../../kritacolor/ \
......