mirror of https://github.com/GNOME/gimp.git
40 lines
956 B
Plaintext
40 lines
956 B
Plaintext
GEGL Porting Plan
|
|
=================
|
|
|
|
This file describes a detailed plan for how we will integrate GEGL
|
|
into GIMP. Please update it with your own ideas and findings.
|
|
|
|
Porting GIMP to GEGL will be a multi-stage process. On a high level,
|
|
the stages are:
|
|
|
|
Stages:
|
|
=======
|
|
|
|
1. Implement GIMP's 8 bpc code with GEGL data structures
|
|
2. Gradually port GIMP's 8 bpc code to 32 bpc
|
|
3. Once the GIMP base layer (almost) only knows 32 bpc and GEGL, add
|
|
goodies like adjustment layers and layer effects on top
|
|
|
|
|
|
First stage:
|
|
------------
|
|
|
|
1. Kill Tile and TileManager
|
|
2. Change PixelRegion::tiles : TileManager * to PixelRegion::gegl_buffer : GeglBuffer *
|
|
3. Map PixelRegion::gegl_buffer of type RGBA float to PixelRegion::data of type RGBA u8
|
|
4. Implement functions like scale_region() with GEGL (for the
|
|
gegl_buffer case. For the data case, we can keep the old code)
|
|
5. ???
|
|
|
|
|
|
Second stage:
|
|
-------------
|
|
|
|
1. ???
|
|
|
|
|
|
Third stage:
|
|
------------
|
|
|
|
1. ???
|