Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/mypaint/libmypaint

libmypaint, a.k.a. "brushlib", is a library for making brushstrokes which is used by MyPaint and other projects.
https://github.com/mypaint/libmypaint

brushlib: Missing include of stdlib.h for size_t

85e5f3053abd92411f111ad319fba96e4f2a3353 authored about 12 years ago
brushlib: Update gegl.py example with recent progress

Can now instantiate and draw onto a MyPaintGegl.TiledSurface,
and it should be possible to hook ...

76400079d6fe5f9f7930a4b7d224a6c92efd7c5f authored about 12 years ago
brushlib: Add GI annotations for get/set_buffer on MypaintGeglTiledSurface

3b02b17a093784ab5a7c82bcfe893d12279756da authored about 12 years ago
brushlib: Return MyPaintRectangle *, MyPaintRectangle in end_atomic() [API]

Needed to make GBoxed wrapping of MyPaintRectangles work, and
to make end_atomic() introspectabl...

cb56d859bf2713156368dc98f5e4647163f8327f authored about 12 years ago
brushlib: Fix unknown type name MyPaintSurface in MyPaintFixedTiledSurface

3df01b395e3a7b06f240a3d426b7cb44786acdff authored about 12 years ago
brushlib: Use refcounting for MyPaintBrush [API]

Consumers should now use mypaint_brush_unref() instead of mypaint_brush_destroy()
This allows sa...

f3ca105cd1c6a76f21df338758d081820c445dfb authored about 12 years ago
brushlib: Add type cast functions to get MyPaintSurface from subclass

There is no way with GBoxed to register inheritance, so in Python
and other GI-based languages o...

2a4f0448dd06281d7f556ee5dc814ce8742b582e authored about 12 years ago
brushlib: Pass in needed includedirs and GI deps for MyPaintGegl introspection

Without this Gegl and MyPaint types are not resolvable by the scanner,
and files for registering...

80ad6d4359176d394f3844e60335a0278b58dbbf authored about 12 years ago
brushlib: Add GType registrations of types for MyPaintGegl

The GEGL based surface is now accessible in GI-based bindings, like Python.

76552c99e9b0645998cb679f68c7c8f6f22ede0e authored about 12 years ago
brushlib: Use refcounting on MyPaintSurface [API]

Allows sane wrapping in GBoxed types for GI (also added).
Consumers should now use mypaint_surfa...

2d3be27954a3e2e4ddb7136948edccd478a75aab authored about 12 years ago
brushlib: Add some API documentation and GI annotations to MyPaintBrush and MyPaintTiledSurface

f64b080c0ae631071d60616c48def64f1ae66b4e authored about 12 years ago
brushlib: Move MyPaintRectangle out to separate files

0316e69fd484cde46f2881c0a6b45979a2c1383e authored about 12 years ago
brushlib: Add start of a Python/GI/GEGL-based example

1b88cbcb7a0b7aef7c41d6eedc632394b5d915c4 authored about 12 years ago
brushlib: Fix getters returning "libmypaint" instead of i18n string

D'oh.

57b8fe808ccc5c9d72519a9116d353e885fd28b0 authored about 12 years ago
brushlib: Fix missing -$version in .typelib and .gir introspection files

This caused GI bindings to fail to import.

dfd91dd8604987eabd2b28fee628b5d027ca8988 authored about 12 years ago
brushlib: Add GI annotations for mypaint_brush_get_mapping_point() [API]

5bda2d7181b71b0b55413b78cc7eaf437b73b237 authored about 12 years ago
brushlib: fix approximate AA on elliptical dabs

4781d0753d5be5df963807b13740c6f8e5e72bd1 authored about 12 years ago
brushlib: Assign default implementations of begin/end_atomic in MyPaintTiledSurface

Fixes segfault when the MyPaintTiledSurface subclass does not override
these vfuncs, like for th...

4f8d5a1522afab680d9a1059ca63b170378189d8 authored about 12 years ago
brushlib: Document dependencies in README

7108d83c985a72744a2e20b2ea24d0ccccc36acb authored about 12 years ago
tests: fix test_brushlib.py; uncompress 30sec data

Fix segfaults due to missing files in test_brushlib.py. Brushes and input
data had moved.

For c...

62774a303acfffa063d9f0394d9aec95dcf98601 authored about 12 years ago
brushlib: allow pressure > 1.0

Experimental. This allows the brush to continue the pressure response
when using the "pressure g...

1d6da0b98a2b6043d42181df1dc90e3812460cf6 authored about 12 years ago
new "pressure gain" brush setting

Still somewhat experimental. It replaces the "hardness" setting in the
"quick brush settings" po...

a78a4617ea788f4bf79f135ec7d3ec609899804f authored about 12 years ago
brushsettings: rename Anti-aliasing to Pixel feather

a5673459f6e3403f966da52e0dea15432a03efa5 authored about 12 years ago
snap-to-pixel brushsetting: category, tooltip

11e8ee0da65c51579482b55fab9ae88866bbf536 authored about 12 years ago
brushlib: add snap-to-pixel brush functionality

2beca803154e32c59acecf5783f87a61868c68a3 authored about 12 years ago
brushlib: Optimize antialiasing approximation

e097c9a4d6b74f86b7eec704da7caa443d3c1019 authored about 12 years ago
brushlib: Use aproximate technique for subpixel painting

86a84379546788f887c43ec767027fd54f5d4d58 authored about 12 years ago
build: Use a scons Command with dependencies for generate.py

Avoids it being called without need.

bd996340ecfbc6c68998568d8b32ea0fe2c3298b authored about 12 years ago
brushlib: use the standard header for malloc()

Portability: using the Linux-specific malloc.h was breaking OSX builds.

https://gna.org/bugs/?2...

bb3f350684c880bc33567f8a1a6490865a0ab0da authored about 12 years ago
brushlib: Fix off-by-1 error when checking dirtytile buffer bounds

1a6c49970bec48868a3c6feef9e40aa5c42ef919 authored about 12 years ago
brushlib: Fix crash due to duplicates in dirty_tiles list causing buffer overflow

b2528f7c145ff55cc24d1794a6b9a09f6432002c authored about 12 years ago
Hungarian translation

50ca2e78d87549922e98d43052a21aac96d9b7d1 authored about 12 years ago
brushlib: fix tile_map bug

Fix off-by-one bug in tile_map_copy_to(), causing not all queued
operations to be copied when re...

4b4653990e90351bbd820f6e574e16f94b36313d authored about 12 years ago
brushlib: add HEAVY_DEBUG for operationqueue.c

When MyPaint is compiled with "scons debug=1" now, the operationqueue.c
bug (https://gna.org/bug...

394b17924807ac6bf7e18d5aab384d0be5dd7b89 authored about 12 years ago
update zh_TW translation

3a12d5efd05f9b459ef8687e73377fb7b7dce9b5 authored about 12 years ago
brushlib: increase radius limit

CPUs are getting faster. This doubles the number of pixels that can
be affected by a dab. We sti...

db761bd4fbbfcb1d86fc78aa408f164cfd22bdf3 authored about 12 years ago
i18n: scons translate=pt_BR.po

No changes to the actual translation made.

584601b66a1c8d2500b9e9e9c1f89cabfe59d027 authored about 12 years ago
i18n: update Italian translation

5f56789def97749049a1b30e4348c5882bf46e75 authored about 12 years ago
Update brushlib es.po translation

Signed-off-by: Manuel Quiñones <[email protected]>

370682a7b1f9c2b8843b1c2351ebecccc6276da5 authored about 12 years ago
es.po complete translation

Signed-off-by: Manuel Quiñones <[email protected]>

5fe11f205adcf08f875a83608a76ee1e317e8466 authored about 12 years ago
brushlib: clear bbox in m.t.s._begin_atomic()

Fix unnecessarily large and frequent screen redraws in MyPaint:
dirty_bbox should not accumulate...

8d0e80e20c136e663a3b6abf292f89fe1ce55217 authored about 12 years ago
brushlib: Mark functions in tiled-surface where thread-safety applies

Also unneeded MyPaintTiledSurface argument to process_op.

f912b9c704fe6c62254d0750a29e5f65969d0e2e authored about 12 years ago
i18n: Brazilian Portuguese translation

8ed86684222dc65f66ebe068ee232b2925d6b4b9 authored about 12 years ago
build: add python_binary=xxx scons option

debian: python2.7
gentoo: python-2.7
Not sure how to auto-guess those.

c77a9b1f9b171fbd5ac9079c9bab1a5145697498 authored about 12 years ago
fix scons problems with old files lying around

This fixes a bug where strokes were not updated on canvas until the
canvas was moved - of course...

09940b46b206a9a39955487e5b50998cc507cf71 authored about 12 years ago
brushlib i18n build: glob pattern

I guess the previous one was bash specific.

e24aa83bb8e43a7c1299d267c4c63ad4b87c382f authored about 12 years ago
brushlib: Fix two memory leaks

Just missing free() calls. Also set all members of Operations queue
to NULL when freed for consi...

d2d82ef791dd2e49e735a5bb8d2568e7bfe13052 authored about 12 years ago
Try to avoid annoying "note: expected ‘struct OperationQueue *" from compiler

struct _OperationQueue matches how the typedef is inside operationqueue.c
If this does not work,...

3ca06c58bef75e0f1d6c4a3fde80420f4bd0ab94 authored about 12 years ago
Update Spanish translation

Signed-off-by: Manuel Quiñones <[email protected]>

e49e2af3f7040b45b36dd7144ffbbc0c7e038338 authored about 12 years ago
i18n: fix brushlib strings that contain newlines

The problem was that brushlib generate.py did remove newlines.

65f203dea4c32b28b5f3d39b530340347b2bf764 authored about 12 years ago
i18n: Italian translation

d6671a23cf0c3a5fda2a419913713c06904c743b authored about 12 years ago
brushlib: Remove duplicate typedefs

Causes compiler warnings/errors, depending on compiler settings.

c2e61844fef5c608adf4a33979191cfd7cf59fed authored about 12 years ago
Build: Prepend -lmypaint... to -lm -ljson

libm and libjson are also available as static libraries, so order will
matter if the static lib ...

b311c322b7d703ff432da6cab0e1ac37cc18c072 authored about 12 years ago
Build: Try to explicitly define order between -lmypaint-tests and -lmypaint

6fbf9c285ae05fe1b5730ab11176cb9901af0532 authored about 12 years ago
Build: Remove extraneous pkg-config call

This information is passed through the environment.

b7a53ef8a93f3ea94add9df8b385a233dead410a authored about 12 years ago
brushlib: Pass environments more consistenly into tests

An attempt to fix some build errors on Jenkins.

df65baff46b30e8e5f716f4c5e1bc9af73793647 authored about 12 years ago
brushlib/test: Add missing extern "C" declaration to header

015f3526ea6d0b24900b72ad01c1abd730555136 authored about 12 years ago
Build: Use position independent code also for static libs

Otherwise linking the (static) brushlib into the Python module fails.

aab8af29a0edec2ed3b0a1987fcabb55f81151f5 authored about 12 years ago
brushlib: Created static library by default

GObject Introspection needs a shared lib, so if using
enable_introspection that is what will be ...

8e52d2b44f98bd5e717c4fd905bb99efcc1e3690 authored about 12 years ago
brushlib: Another missing license header

b479a172cfe5464650d58dc48ba2a638bcba59ce authored about 12 years ago
brushlib: Add license headers where missing

c6d6b3e26a55cb52d97f76bbf19a189eabfd918f authored about 12 years ago
i18n: Korean translation

2bfd3e71f06a369130f65967b6edfc351f7968c6 authored about 12 years ago
brushlib: Allow MYPAINT_TILE_SIZE to be set by buildsystem

Allows external consumers to potentially use another tile size
then the default 64x64.

3e60dcd5a9c8b8b26040622f854356ab743948a7 authored about 12 years ago
brushlib: Namespace the TILE_SIZE define as MYPAINT_TILE_SIZE

And put it in mypaint-config.h so that external consumers can
use it.

168d600595e86c2a333a698939ca653af8ba863f authored about 12 years ago
brushlib: Remove multiple definitions of TILE_SIZE

Makes sure that these cannot drift out of sync with eachother.
Also use a variable on MyPaintTil...

28c9da563ecb3e76f4714007d15c5ab62b765fb8 authored about 12 years ago
brushlib: Return changed bounding box though mypaint_surface_end_atomic()

This means there is a standard way of notified that happen to a surface
in the MyPaintSurface in...

e43360762044d938a60182ea4cd3e587c484d7e7 authored about 12 years ago
brushlib: Fix resizing of operation queue causing line gaps

The previous code for copying the values in a tile map to a bigger
map during resize did not tak...

41e294533c72f0b7b4b954c0db68b899d29b9dc3 authored about 12 years ago
brushlib: Split out more code in operation queue that manipulates tile map

Also marks the know issues the code has. Will be fixed shortly.

d13776d17bc91a05d45fcc49f98d0514936c5d40 authored about 12 years ago
fix expose events one-off errors

I think it is correct now, even if proper anti-aliasing is added.
Still, I have left the 1 pixel...

15f287f6766b7bd24696bac042c5331706ac1263 authored about 12 years ago
brushlib: fix last ascension step; comments

Fix omission: do the last ascension step the same way as all the others.

Comment tweaks: remove...

6b90f049b12b1b946c1c2553a2dd41d64cc0a822 authored about 12 years ago
brushlib: improve tilt ascension stepping

Perform tilt ascension interpolation steps in the direction of the
smallest angular difference b...

26009d31461dcdd3162c1d7e7df0d6b33ea579ae authored about 12 years ago
i18n: run scons translate=it

On request; no translation changed.

4c752e1acb18cafa46045d781ca145dda6ff7526 authored about 12 years ago
i18n: Italian translation update

23b8c357fb3ed53cdcabfa8c31ceff8038108b32 authored about 12 years ago
i18n: Add more Norwegian Bokmål translations

11d68b63391774d7d5b036034d529d77f50ecc2d authored about 12 years ago
i18n: Update Canadian English translation.

c48276c977b482f9ba7a2ba4677f1c88b9449c11 authored about 12 years ago
i18n: scons translate=all

18de8abd2216a4af7b85754b6d0c9edb9b068311 authored about 12 years ago
brushlib: Fix build error and assert when building with debug=1

Linking the tests failed due to expecting a symbol for the inlined
calculate_rr and calculate_op...

0cadb78ec7802e485340a1c024d31aa3a9dea65e authored about 12 years ago
brushlib: Only use multiple threads if tile requests are declared threadsafe

35df4916ad7cfdc80e1e6ffaff50a3131fa4d633 authored about 12 years ago
brushlib: Pass mandatory args for MyPaintTiledSurface through constructor

Makes it clearer for a subclass what is required.

1b1dfe6417233f7dfc0f007c751dc15dabb42eb3 authored about 12 years ago
Update brushlib/PERFORMANCE

7c71a96bd46d4aa349d99bd90a6a40c81b8333fd authored about 12 years ago
brushlib: Precalculate "rr" in render_dab_mask, make use of auto-vectorization

f8306964c3ff8b582a3ffb58199cb749a3734c8b authored about 12 years ago
brushlib: Minimize scope of variables in render_dab_mask

Makes the dependencies between variables clearer.

7c27db15813e7885dd44403310cebb650034e2e2 authored about 12 years ago
brushlib: Split out inner-loop calculations in render_dab_mask

Again makes it easier to see dependencies between different
pieces of code. Seems like it also g...

5e5a5177189699179c90189c1adafb23a248a473 authored about 12 years ago
brushlib: Actually make the operationqueue resize automatically

Was hardcoded while evaluting the feasibility of the concept.

47e5c8b19489124d21ce5af966fee368b2ba4e7c authored about 12 years ago
brushlib: Fix two memory management errors

bcfd2ca053b934076cdd4861e49ba82df1b46376 authored about 12 years ago
Make tile store interface in MyPaintTiledSurface concurrency friendly

Store a request state object in the consumer that wants to get/set tiles,
and allow tile stores ...

fba86b34ab0bcb1fd280d38f32c84351a3c60e63 authored about 12 years ago
brushlib: Process get_color in parallel using OpenMP

863babc396cb5f817595f67167e1c16982194869 authored about 12 years ago
brushlib: Process tiles mypaint_tiled_surface_end_atomic in parallel using OpenMP

40b9860299cfaa29852c1dc257b47ad0c196b7f0 authored about 12 years ago
brushlib: Call mypaint_tiled_surface_update_tile() after read-only _get_tile()

All get_tile/update_tile are now done in pairs, so implementations
can sanely keep state between...

d65a9337a67a0d2d5da465c7ccd48d9303555f3b authored about 12 years ago
build: Add option to enable OpenMP based multithreading

Use "scons enable_openmp=true"

42bd83d6c0a5c2a09151470d4fc75ddaa0e307c4 authored about 12 years ago
brushlib: Flush queued draw_dab operations on get_color

The result of get_color, which must be returned to the brush engine
immediately may depend on th...

be6ce5657234ecfa22521ba6f5e98dc09607c34b authored about 12 years ago
brushlib: Let dab mask be on stack instead of static

Required for concurrent use of get_color and process_tile,
as the mask should be in thread-local...

beff41cda05a7a87288465c6818124513b45d9ac authored about 12 years ago
brushlib: Prepare the list of dirty tiles in operation_queue_add

Gets rid of the overhead the iterations of the tile map that
operation_queue_get_tiles() used to...

615bea82d75831456a181fcb17357d571920a853 authored about 12 years ago
brushlib: Don't use recursion for symmetry in draw_dab

There was always only two levels of recursion, with a simple
transformations of the input parame...

39466152140ae2f68cdc54b4c3710a70afa34565 authored about 12 years ago
brushlib: Move processing from draw_dab to end_atomic

This will allow draw_dab operations to queue up and only
be processed at the end of the transact...

aebfa4aaeda404ee389cd447ecb3db579073f80b authored about 12 years ago
brushlib: Allocate draw_dab operation on heap

88b5990cc3511e4d2dd24a76e45d0ce1ead86067 authored about 12 years ago
brushlib: Actually implement queueing in OperationQueue

The size of the operation map is still hardcoded however,
and will need to be able to expand dyn...

eb251c7beea1143aa21f8de7e87d0bd80b6e6c12 authored about 12 years ago
brushlib: Make draw_dab an operation that can be stored

Also separate out processing of a single tile to its own function.
This makes the dependencies o...

a0b42a4d87ee3ba9855a25234078f4459d09275e authored about 12 years ago
brushlib: Prepare for queued processing of operations

Introduce the OperationQueue class, which will hold operations
to be processed. Right now the AP...

0420ef9e3b7f426a214051729ea75324f2652d20 authored about 12 years ago
brushlib: Update TODO

946d4c353e1644f2a888d0b074dcd889433f7b7c authored about 12 years ago