Béziers
authorSam Moore <matches@ucc.asn.au>
Wed, 18 Jun 2014 08:41:40 +0000 (16:41 +0800)
committerSam Moore <matches@ucc.asn.au>
Wed, 18 Jun 2014 08:41:40 +0000 (16:41 +0800)
commitf59f24dff392428d7219ba2d6be5e1e81c344ee0
treeef2c798862138f69dc19447a43df62fb71d156c9
parentd3e941df79b54b698a5b8a1d4763346c4d6eb3d7
Béziers

It's hard to type the ́e so I will just call them Beziers from now.

New struct represents a cubic bezier, can be evaluated. The Objects struct contains a vector of beziers, and a vector of indices for each object.
If an ObjectType is BEZIER than the index can be used to look up the bezier control points. Control points are relative to the bounding rectangle;
so we can reuse the same curves (eg: For fonts).

Rendering happens on CPU only, sub divide and use Bresenham lines.
Bresenham lines are not quite optimal but I eventually gave up.

So we don't have a "line" type, but you can make one by creating a Bezier where x1,y1 == x0,y0
They look kind of wobbly.

Save/Load not tested. It might break. But it will have to be pretty heavily rewritten soon anyway.
12 files changed:
src/Makefile
src/bezier.cpp [new file with mode: 0644]
src/bezier.h [new file with mode: 0644]
src/document.cpp
src/document.h
src/ipdf.h
src/main.cpp
src/main.h
src/objectrenderer.cpp
src/objectrenderer.h
src/rect.h [new file with mode: 0644]
src/view.cpp

UCC git Repository :: git.ucc.asn.au