Initial checkin of Pika from heckimp
This commit is contained in:
BIN
plug-ins/pikaressionist/Brushes/arrow01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/arrow01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/ball.ppm
Normal file
BIN
plug-ins/pikaressionist/Brushes/ball.ppm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/blob.ppm
Normal file
BIN
plug-ins/pikaressionist/Brushes/blob.ppm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/box.ppm
Normal file
BIN
plug-ins/pikaressionist/Brushes/box.ppm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/chalk01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/chalk01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/cone.ppm
Normal file
BIN
plug-ins/pikaressionist/Brushes/cone.ppm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon04.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon04.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon05.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon05.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon06.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon06.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon07.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon07.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/crayon08.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/crayon08.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/defaultbrush.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/defaultbrush.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/dribble.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/dribble.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/fabric.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/fabric.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/fabric01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/fabric01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/fabric02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/fabric02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/fabric03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/fabric03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/flower01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/flower01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/flower02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/flower02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/flower03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/flower03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/flower04.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/flower04.pgm
Normal file
Binary file not shown.
205
plug-ins/pikaressionist/Brushes/grad01.pgm
Normal file
205
plug-ins/pikaressionist/Brushes/grad01.pgm
Normal file
File diff suppressed because one or more lines are too long
BIN
plug-ins/pikaressionist/Brushes/grad02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/grad02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/grad03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/grad03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/heart.ppm
Normal file
BIN
plug-ins/pikaressionist/Brushes/heart.ppm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/leaf01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/leaf01.pgm
Normal file
Binary file not shown.
66
plug-ins/pikaressionist/Brushes/meson.build
Normal file
66
plug-ins/pikaressionist/Brushes/meson.build
Normal file
@ -0,0 +1,66 @@
|
||||
brushes = [
|
||||
'arrow01.pgm',
|
||||
'ball.ppm',
|
||||
'blob.ppm',
|
||||
'box.ppm',
|
||||
'chalk01.pgm',
|
||||
'cone.ppm',
|
||||
'crayon01.pgm',
|
||||
'crayon02.pgm',
|
||||
'crayon03.pgm',
|
||||
'crayon04.pgm',
|
||||
'crayon05.pgm',
|
||||
'crayon06.pgm',
|
||||
'crayon07.pgm',
|
||||
'crayon08.pgm',
|
||||
'defaultbrush.pgm',
|
||||
'dribble.pgm',
|
||||
'fabric.pgm',
|
||||
'fabric01.pgm',
|
||||
'fabric02.pgm',
|
||||
'fabric03.pgm',
|
||||
'flower01.pgm',
|
||||
'flower02.pgm',
|
||||
'flower03.pgm',
|
||||
'flower04.pgm',
|
||||
'grad01.pgm',
|
||||
'grad02.pgm',
|
||||
'grad03.pgm',
|
||||
'heart.ppm',
|
||||
'leaf01.pgm',
|
||||
'paintbrush01.pgm',
|
||||
'paintbrush02.pgm',
|
||||
'paintbrush03.pgm',
|
||||
'paintbrush04.pgm',
|
||||
'paper01.pgm',
|
||||
'paper02.pgm',
|
||||
'paper03.pgm',
|
||||
'paper04.pgm',
|
||||
'pentagram.pgm',
|
||||
'scribble.pgm',
|
||||
'shape01.pgm',
|
||||
'shape02.pgm',
|
||||
'shape03.pgm',
|
||||
'shape04.pgm',
|
||||
'snow1.pgm',
|
||||
'sphere.ppm',
|
||||
'splat1.pgm',
|
||||
'splat2.pgm',
|
||||
'splat3.pgm',
|
||||
'spunge01.pgm',
|
||||
'spunge02.pgm',
|
||||
'spunge03.pgm',
|
||||
'spunge04.pgm',
|
||||
'spunge05.pgm',
|
||||
'strange01.pgm',
|
||||
'thepika.pgm',
|
||||
'torus.ppm',
|
||||
'wavy.pgm',
|
||||
'weave.pgm',
|
||||
'worm.pgm',
|
||||
]
|
||||
|
||||
install_data(
|
||||
brushes,
|
||||
install_dir: pikadatadir / 'pikaressionist' / 'Brushes',
|
||||
)
|
BIN
plug-ins/pikaressionist/Brushes/paintbrush01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paintbrush01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/paintbrush02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paintbrush02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/paintbrush03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paintbrush03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/paintbrush04.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paintbrush04.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/paper01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paper01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/paper02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paper02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/paper03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paper03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/paper04.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/paper04.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/pentagram.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/pentagram.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/scribble.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/scribble.pgm
Normal file
Binary file not shown.
5
plug-ins/pikaressionist/Brushes/shape01.pgm
Normal file
5
plug-ins/pikaressionist/Brushes/shape01.pgm
Normal file
File diff suppressed because one or more lines are too long
BIN
plug-ins/pikaressionist/Brushes/shape02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/shape02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/shape03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/shape03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/shape04.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/shape04.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/snow1.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/snow1.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/sphere.ppm
Normal file
BIN
plug-ins/pikaressionist/Brushes/sphere.ppm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/splat1.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/splat1.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/splat2.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/splat2.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/splat3.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/splat3.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/spunge01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/spunge01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/spunge02.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/spunge02.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/spunge03.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/spunge03.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/spunge04.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/spunge04.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/spunge05.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/spunge05.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/strange01.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/strange01.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/thepika.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/thepika.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/torus.ppm
Normal file
BIN
plug-ins/pikaressionist/Brushes/torus.ppm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/wavy.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/wavy.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/weave.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/weave.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Brushes/worm.pgm
Normal file
BIN
plug-ins/pikaressionist/Brushes/worm.pgm
Normal file
Binary file not shown.
43
plug-ins/pikaressionist/Paper/bricks.pgm
Normal file
43
plug-ins/pikaressionist/Paper/bricks.pgm
Normal file
@ -0,0 +1,43 @@
|
||||
P5
|
||||
# CREATOR: The GIMP's PNM Filter Version 1.0
|
||||
96 95
|
||||
255
|
||||
<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>©<EFBFBD>ױ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㪰<EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>˭<EFBFBD>ٳ<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ė<EFBFBD>Ӛ<EFBFBD><D39A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>th<74>~<7E>w<EFBFBD>uj}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD><CDB0><EFBFBD>˪<EFBFBD><CBAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>d<EFBFBD><64><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD>o<EFBFBD>r}<7D>fbaq<61><71>ȁ<EFBFBD><C881>S<EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}|]`<60>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD><6C>n<EFBFBD><6E><EFBFBD><EFBFBD>l<EFBFBD>Ui<55><69><EFBFBD>#9ŕn<C595><6E><EFBFBD><EFBFBD>pvƥu<C6A5><75><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>r<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD>N<>Ü<EFBFBD><C39C>sGX`-wzvr<76><72><EFBFBD><EFBFBD><EFBFBD>q_x<5F>Ukpzuy<75><79>G<EFBFBD><47> <20><><EFBFBD><EFBFBD>k<EFBFBD>~<7E><>Z{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD><6C>w<77><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r<EFBFBD><72><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD>OȮ<><C8AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><08><><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD>O_r<5F>o<EFBFBD><6F><EFBFBD>^drm<72><6D><EFBFBD> <20>ʇ<EFBFBD><CA87><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E><><EFBFBD><EFBFBD>z<EFBFBD><7A>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>zdr<64><72><EFBFBD><EFBFBD>×"<04><>|~}<7D><><EFBFBD>uA|<7C><><EFBFBD><EFBFBD>}<7D><><EFBFBD>&pc`Ywy<77>Kc<63><7F>y<EFBFBD> <19><><EFBFBD><EFBFBD>{<7B><>s<EFBFBD><73><EFBFBD><EFBFBD>t<EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~z<><7A><EFBFBD>}<7D><>q<EFBFBD><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x~[t<><74><EFBFBD><EFBFBD><EFBFBD>I
|
||||
<06><><EFBFBD><EFBFBD>g<EFBFBD>{<7B>'z<>W<EFBFBD>q<EFBFBD>}<7D><><EFBFBD>Vwvjn]}<7D>W4}<7D><><EFBFBD>Wv<>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>gof<6F>vp<76><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><5F>vtm}fN+:<3A>}<7D><>g<EFBFBD>x<EFBFBD><78>~mttlpS<70><53>}<7D><><EFBFBD><EFBFBD><EFBFBD>Sh<><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>|o<>}<7D>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xq`l^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD>Wn<57>z&<04><>3|sx<73><78>dg<64><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>|w<><77><EFBFBD><EFBFBD>|y<><79><EFBFBD><EFBFBD><EFBFBD>-<2D><>bkl<6B>\<5C><><EFBFBD><EFBFBD>w<EFBFBD>T<EFBFBD><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><><EFBFBD><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD>r<EFBFBD><72><EFBFBD><EFBFBD>Pgvk<><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|u<><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y|zm<7A>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f<EFBFBD><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w}<7D><><EFBFBD>K^<5E><><EFBFBD>_T `<60><><EFBFBD>v<EFBFBD><76><EFBFBD>yl<79><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>omj<6D>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><0E>}tZ<74><5A><EFBFBD>p}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~x<><78><EFBFBD><EFBFBD><EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HFT=QIt_qPԧ˳<D4A7><CBB3><EFBFBD>yj<6A><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}}<7D><><EFBFBD><EFBFBD>iy<69>Y}<7D><><EFBFBD><08>~<7E><><EFBFBD><EFBFBD>oJd<4A><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Jq<4A><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ha^<5E>ob<6F>l<EFBFBD>$kֿ<6B><D6BF><EFBFBD><EFBFBD>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><>}<7D>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <11>q<EFBFBD><71><EFBFBD>{vG`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD>~<7E>x<EFBFBD>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>sxb/<2F>U<EFBFBD>|]-
|
||||
u<><75>ț<EFBFBD><C89B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>{yn<79><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><06><><EFBFBD>[<5B><><EFBFBD>c<EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD>pqm<71><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>h{<7B>x<EFBFBD>~j}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>u_\U<>Y]<5D>j--
|
||||
aڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o <10><><EFBFBD>yq<79>gq<67><71>`{<7B>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>u<EFBFBD><75>}<7D><><EFBFBD><EFBFBD>sp<73><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Srn<72>oFsxUTl`<60><>á<EFBFBD><C3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><>y<7F>*
|
||||
<06><>r<EFBFBD><72>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><>{t<74><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>fx<66>\<5C>vnigzpy/
|
||||
iϢ<EFBFBD><EFBFBD>|<7C><>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F>ɐ
|
||||
<0F>z<EFBFBD>vr<76><72><EFBFBD><EFBFBD>b<EFBFBD><62>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>{tm<74><6D><EFBFBD><EFBFBD>{|F_׳<5F><D7B3><EFBFBD>Ƣ<EFBFBD><C6A2><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><08><>v<EFBFBD><76><EFBFBD>sh<73><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>h<EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD>s<EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>n#j<><6A>Ý<EFBFBD><C39D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F>wt~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><13>l<EFBFBD>s_<73>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SQ{X<><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD>iddvz<76><7A><EFBFBD><EFBFBD>afοw<CEBF><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+ <0F>r<EFBFBD><72>nxo<78><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r<EFBFBD><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^knzm<7A>}u97
|
||||
aւF{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD>jD<0C><>\20Bo<42><6F><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>nh_o81<38><31>Lo}<7D><><EFBFBD>y<EFBFBD>m<EFBFBD><6D><EFBFBD>zkYO].Ej<45>`<60><
|
||||
<1D>M)2-#31$FI8%$/)%!<21><><&X<>'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rcl<63><6C>gzOO(5;lp5bq<62><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>tbon=Yd<59>i
|
||||
|
||||
#<07><>
|
||||
|
||||
|
||||
|
||||
ypP<70><50><EFBFBD><EFBFBD>dO<64><4F><EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD><EFBFBD>Q"<GV$CSS1aba<62>')(hepU^<5E>KRh<52>L/5/
|
||||
|
||||
>2[fg}D$<24><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e[," ! ( z<>|<7C>vA)%
|
||||
|
||||
-)7,)
|
||||
2?&21("<12>Xt<58>c^T[>b`8
|
||||
|
||||
|
||||
":\u_u<5F><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q;<12>\'$%!$;2 -k+#!3<33>~NMhjTUk<55>F8Nfpyx<79><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>vd^o~#!YZy<5A><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD>p]hz{qim<69>{<7B>xmP|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƙ<EFBFBD><C699><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1L|<7C><>nQ="%C<><43>f<EFBFBD><66><EFBFBD><EFBFBD><EFBFBD>wi<77><69><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD>Ǭ<EFBFBD><C7AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF>wx<77><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>2?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><74>Ü<EFBFBD><C39C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}j<><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD>x<EFBFBD><78>w=k<>|Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HXy<58><79><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD>vju<6A><75><EFBFBD>g<EFBFBD>~qln<6C><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NU<4E><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD>mdq<64><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lw<6C><77>gzU<7A>~<7E>$<12><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʩ<EFBFBD><CAA9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!F<><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cx<63>vOovq<76><71><EFBFBD>z<EFBFBD><7A>od_Udk<64>q<EFBFBD>pt<70>a<EFBFBD><61><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD>d
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD>ǫ<EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><17><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yw<79><77>ml<6D><6C><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD><67><EFBFBD>yT1<><31>ɍ<EFBFBD><C98D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ƣ
|
||||
<EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>o<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD>gi<EFBFBD>zr<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD><EFBFBD><EFBFBD><EFBFBD>x|<7C><><EFBFBD>+O#x<><78><EFBFBD><EFBFBD><D4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ѭ<EFBFBD>ɣ˴<C9A3><CBB4>ŭ<EFBFBD><C5AD>ٹ<EFBFBD><D9B9><EFBFBD>ẽ<EFBFBD><E1BABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
`<60><EFBFBD><C29C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĝ<EFBFBD>{x<>[h<><68><EFBFBD><EFBFBD><EFBFBD>˔<EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD>s<EFBFBD><73> ;<3B>Ǽʺ<C7BC><CABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|.
|
||||
<1D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~s<>x<EFBFBD>z<EFBFBD>w<EFBFBD><77>|<7C><><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>!# <09>շ<EFBFBD><D5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>u<EFBFBD>Z<08><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f_x<5F><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D>s<EFBFBD>|<7C><>q<EFBFBD><71><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F>s<19><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m~`<60><><EFBFBD>i_<69><5F>M<13>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{l<><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E>z{<7B><>qv<71><76><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD><70>xu<><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}{ǝ<><C79D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w_}<7D>c~S<><53>
|
||||
B<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><0E><><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>qq<71><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<73><7F><EFBFBD><EFBFBD>qv<71>^<5E><>U)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rh<72><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<7F><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD>' <09><><EFBFBD>wߧ{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD>}[o~<7E><>Zu 8ҵ<38><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<7F><67><EFBFBD>Sy<53><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<13><><EFBFBD>Q<EFBFBD><51>u<EFBFBD><75>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E><>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><05><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>yi<79><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>oz<6F><7A>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>Cp<><70>w<EFBFBD>p<EFBFBD><70><EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><><EFBFBD>td<7F>}y<7F>u!<21>ӭ<EFBFBD><D3AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><>upq<70><71>w<EFBFBD><77><EFBFBD><EFBFBD>c<EFBFBD><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<74><07><>g<E0A6B3><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p{{<7B><>y<EFBFBD><79>C<04><>Ϯ<EFBFBD><CFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><>d<EFBFBD><64>~o<>n<EFBFBD><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79>
|
||||
<07><><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>X^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>vtA<74><EFBFBD>F<EFBFBD>E <09>¬<EFBFBD><C2AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r<EFBFBD><72><EFBFBD><EFBFBD>zw<7A><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD>u<EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>s<1A><>ӣqjxkg<6B>[<5B><>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>pR~<7E>[<5B><><EFBFBD><0F>ܠ<EFBFBD>nlw<6C><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E>v<EFBFBD>q<EFBFBD><71>m<EFBFBD><6D><EFBFBD>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<15><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD>z<EFBFBD><7A>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>qq<71>r<EFBFBD><72><EFBFBD><05>전[kr<6B>vq<76><71><EFBFBD><EFBFBD>x~<7F><7F>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69>w<EFBFBD>x<EFBFBD><78>y<EFBFBD><79>b<EFBFBD><62><EFBFBD><EFBFBD><EFBFBD>p <09><>·xyXun<75><6E><EFBFBD>rh~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r<EFBFBD><72>{<7B><>\iK<69>dIR<49>]<18>ʗen<65>s<EFBFBD><73><EFBFBD><EFBFBD>k`<60><><EFBFBD><EFBFBD>x<EFBFBD><78>c|<7C><><EFBFBD><EFBFBD><EFBFBD>W|<7C><><EFBFBD><7F><EFBFBD>q<EFBFBD><71><EFBFBD><EFBFBD><EFBFBD>x|hJD*<0F><><EFBFBD><EFBFBD>h}c<>}<7D>}l<><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rZ<72><5A>\o<>xoLkvp<76>h\
|
||||
<05><>t<EFBFBD>x<EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{~<7E>y<EFBFBD><79><EFBFBD>~u<><75><EFBFBD><EFBFBD>O!<06><>ťkm^iT<69><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q<EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD>[<5B><>u^<5E>D{U<>YjQ<06><>`~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~Kv<76><7F><EFBFBD><EFBFBD>ç<EFBFBD><C3A7>y<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"i<7F><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD><77><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>aQ<61>Yyk|jpr<70>x0W:
|
||||
<1B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>y<EFBFBD><79><EFBFBD><EFBFBD>e|V<><56><EFBFBD><EFBFBD>}z<><7A>ȹ<EFBFBD><C8B9><EFBFBD><EFBFBD><EFBFBD><7F>eFwR$BSpf<70>Y3@Bu!': <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<7B><><EFBFBD>{<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<EFBFBD><53>gjc<6A><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f2 :<3A><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>rr<T1<17><>glJY}'3=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R[<><7F><EFBFBD>EOerSL<CY^dx<64><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Cq<15><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>~<7E>JasbgLj<4C><6A><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD>ʒ](+~p<><70>_6%#/ <1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TQ'Z<>nj=<^<5E>s-.Hryss<73><73><EFBFBD><EFBFBD>|<7C><>J3%iua<75><61><EFBFBD>E
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}<7D><><EFBFBD>/LbMV=C;VJBY7*03GWd<><64>Zp<5A><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RI7>#
|
BIN
plug-ins/pikaressionist/Paper/bricks2.pgm
Normal file
BIN
plug-ins/pikaressionist/Paper/bricks2.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Paper/burlap.pgm
Normal file
BIN
plug-ins/pikaressionist/Paper/burlap.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Paper/canvas2.pgm
Normal file
BIN
plug-ins/pikaressionist/Paper/canvas2.pgm
Normal file
Binary file not shown.
5
plug-ins/pikaressionist/Paper/defaultpaper.pgm
Normal file
5
plug-ins/pikaressionist/Paper/defaultpaper.pgm
Normal file
File diff suppressed because one or more lines are too long
BIN
plug-ins/pikaressionist/Paper/marble.pgm
Normal file
BIN
plug-ins/pikaressionist/Paper/marble.pgm
Normal file
Binary file not shown.
BIN
plug-ins/pikaressionist/Paper/marble2.pgm
Normal file
BIN
plug-ins/pikaressionist/Paper/marble2.pgm
Normal file
Binary file not shown.
16
plug-ins/pikaressionist/Paper/meson.build
Normal file
16
plug-ins/pikaressionist/Paper/meson.build
Normal file
@ -0,0 +1,16 @@
|
||||
papers = [
|
||||
'bricks.pgm',
|
||||
'bricks2.pgm',
|
||||
'burlap.pgm',
|
||||
'canvas2.pgm',
|
||||
'defaultpaper.pgm',
|
||||
'marble.pgm',
|
||||
'marble2.pgm',
|
||||
'stone.pgm',
|
||||
'struc.pgm',
|
||||
]
|
||||
|
||||
install_data(
|
||||
papers,
|
||||
install_dir: pikadatadir / 'pikaressionist' / 'Paper',
|
||||
)
|
6
plug-ins/pikaressionist/Paper/stone.pgm
Normal file
6
plug-ins/pikaressionist/Paper/stone.pgm
Normal file
File diff suppressed because one or more lines are too long
BIN
plug-ins/pikaressionist/Paper/struc.pgm
Normal file
BIN
plug-ins/pikaressionist/Paper/struc.pgm
Normal file
Binary file not shown.
43
plug-ins/pikaressionist/Presets/ApplyCanvas
Normal file
43
plug-ins/pikaressionist/Presets/ApplyCanvas
Normal file
@ -0,0 +1,43 @@
|
||||
Preset
|
||||
desc=Simulates the Apply Canvas plugin, by just adding a paper relief to the image.
|
||||
orientnum=1
|
||||
orientfirst=0.000000
|
||||
orientlast=0.000000
|
||||
orienttype=0
|
||||
sizenum=1
|
||||
sizefirst=0.000000
|
||||
sizelast=0.000000
|
||||
sizetype=0
|
||||
brushrelief=12.000000
|
||||
brushdensity=1.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=1
|
||||
generaldarkedge=0.000000
|
||||
generalpaintedges=0
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
generalshadowdepth=10
|
||||
generalshadowblur=4
|
||||
devthresh=0.100000
|
||||
paperrelief=25.0
|
||||
paperscale=100.0
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/defaultbrush.pgm
|
||||
selectedpaper=Paper/struc.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,50.000000,1.000000
|
||||
sizestrexp=1.000000
|
||||
sizevoronoi=0
|
||||
colortype=0
|
||||
colornoise=0.000000
|
40
plug-ins/pikaressionist/Presets/Ballpark
Normal file
40
plug-ins/pikaressionist/Presets/Ballpark
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Huge spheres! Tileable. Might be suitable as a background somewhere.
|
||||
orientnum=1
|
||||
orientfirst=0.000000
|
||||
orientlast=60.000000
|
||||
orienttype=0
|
||||
sizenum=6
|
||||
sizefirst=28.670000
|
||||
sizelast=50.439999
|
||||
sizetype=2
|
||||
brushrelief=100.000000
|
||||
brushdensity=7.070000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.020000
|
||||
generalpaintedges=1
|
||||
generaltileable=1
|
||||
generaldropshadow=1
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/sphere.ppm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=ffffff
|
||||
placetype=0
|
||||
placecenter=1
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
28
plug-ins/pikaressionist/Presets/Canvas
Normal file
28
plug-ins/pikaressionist/Presets/Canvas
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=1
|
||||
orientfirst=0.000000
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
brushrelief=12.000000
|
||||
brushscale=15.930000
|
||||
brushdensity=7.940000
|
||||
brushgamma=1.310000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/weave.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=1
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
28
plug-ins/pikaressionist/Presets/Crosshatch
Normal file
28
plug-ins/pikaressionist/Presets/Crosshatch
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=4
|
||||
orientfirst=44.599998
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
brushrelief=0.000000
|
||||
brushscale=10.630000
|
||||
brushdensity=21.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.000000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=100.570000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/chalk01.pgm
|
||||
selectedpaper=Paper/canvas2.pgm
|
||||
color=010101
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
40
plug-ins/pikaressionist/Presets/Cubism
Normal file
40
plug-ins/pikaressionist/Presets/Cubism
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Simulates a cubistic painting.
|
||||
orientnum=30
|
||||
orientfirst=0.000000
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
sizenum=1
|
||||
sizefirst=17.080000
|
||||
sizelast=17.080000
|
||||
sizetype=0
|
||||
brushrelief=0.000000
|
||||
brushdensity=18.600000
|
||||
brushgamma=0.500000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=1
|
||||
generaldarkedge=0.000000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=100.570000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/grad01.pgm
|
||||
selectedpaper=Paper/canvas2.pgm
|
||||
color=646566
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
40
plug-ins/pikaressionist/Presets/Dotify
Normal file
40
plug-ins/pikaressionist/Presets/Dotify
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Turns the image into a layer of small pebbles.
|
||||
orientnum=1
|
||||
orientfirst=47.790001
|
||||
orientlast=0.000000
|
||||
orienttype=0
|
||||
sizenum=1
|
||||
sizefirst=5.000000
|
||||
sizelast=5.000000
|
||||
sizetype=0
|
||||
brushrelief=0.000000
|
||||
brushdensity=20.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.300000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/shape02.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
28
plug-ins/pikaressionist/Presets/Embroidery
Normal file
28
plug-ins/pikaressionist/Presets/Embroidery
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=4
|
||||
orientfirst=44.599998
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
brushrelief=0.000000
|
||||
brushscale=10.750000
|
||||
brushdensity=11.040000
|
||||
brushgamma=0.500000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.000000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=100.570000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/fabric02.pgm
|
||||
selectedpaper=Paper/canvas2.pgm
|
||||
color=010101
|
||||
placetype=1
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
28
plug-ins/pikaressionist/Presets/Feathers
Normal file
28
plug-ins/pikaressionist/Presets/Feathers
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=10
|
||||
orientfirst=38.230000
|
||||
orientlast=360.000000
|
||||
orienttype=6
|
||||
brushrelief=12.000000
|
||||
brushscale=20.000000
|
||||
brushdensity=50.000000
|
||||
brushgamma=2.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.300000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/dribble.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
28
plug-ins/pikaressionist/Presets/Felt-marker
Normal file
28
plug-ins/pikaressionist/Presets/Felt-marker
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=14
|
||||
orientfirst=66.900002
|
||||
orientlast=360.000000
|
||||
orienttype=6
|
||||
brushrelief=0.000000
|
||||
brushscale=13.730000
|
||||
brushdensity=20.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=-0.450000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/shape04.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
40
plug-ins/pikaressionist/Presets/Flowerbed
Normal file
40
plug-ins/pikaressionist/Presets/Flowerbed
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Flower power, man!
|
||||
orientnum=7
|
||||
orientfirst=11.489998
|
||||
orientlast=45.599998
|
||||
orienttype=2
|
||||
sizenum=1
|
||||
sizefirst=15.930000
|
||||
sizelast=15.930000
|
||||
sizetype=0
|
||||
brushrelief=12.390000
|
||||
brushdensity=21.709999
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=1
|
||||
generaldarkedge=0.150000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=100.570000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/flower01.pgm
|
||||
selectedpaper=Paper/canvas2.pgm
|
||||
color=646566
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
40
plug-ins/pikaressionist/Presets/Furry
Normal file
40
plug-ins/pikaressionist/Presets/Furry
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Woof!
|
||||
orientnum=30
|
||||
orientfirst=89.199997
|
||||
orientlast=203.889999
|
||||
orienttype=4
|
||||
sizenum=1
|
||||
sizefirst=14.200000
|
||||
sizelast=14.200000
|
||||
sizetype=0
|
||||
brushrelief=0.000000
|
||||
brushdensity=28.320000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=103.169998
|
||||
paperinvert=1
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/chalk01.pgm
|
||||
selectedpaper=Paper/marble.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
28
plug-ins/pikaressionist/Presets/Line-art
Normal file
28
plug-ins/pikaressionist/Presets/Line-art
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=15
|
||||
orientfirst=44.599998
|
||||
orientlast=180.220001
|
||||
orienttype=6
|
||||
brushrelief=12.000000
|
||||
brushscale=14.200000
|
||||
brushdensity=20.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/chalk01.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=1
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
28
plug-ins/pikaressionist/Presets/Line-art-2
Normal file
28
plug-ins/pikaressionist/Presets/Line-art-2
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=15
|
||||
orientfirst=31.860001
|
||||
orientlast=180.220001
|
||||
orienttype=6
|
||||
brushrelief=41.590000
|
||||
brushscale=15.350000
|
||||
brushdensity=26.580000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/chalk01.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=1
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
40
plug-ins/pikaressionist/Presets/Maggot-invasion
Normal file
40
plug-ins/pikaressionist/Presets/Maggot-invasion
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Sends a horde of maggots to gnaw at your image.
|
||||
orientnum=30
|
||||
orientfirst=0.000000
|
||||
orientlast=360.000000
|
||||
orienttype=6
|
||||
sizenum=1
|
||||
sizefirst=13.150000
|
||||
sizelast=13.150000
|
||||
sizetype=0
|
||||
brushrelief=16.000000
|
||||
brushdensity=20.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=0
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/worm.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=1
|
||||
numorientvector=1
|
||||
orientvector=0,0.633333,0.466667,282.000000,-0.978148,0.207912,1.000000,-1603454457
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
39
plug-ins/pikaressionist/Presets/MarbleMadness
Normal file
39
plug-ins/pikaressionist/Presets/MarbleMadness
Normal file
@ -0,0 +1,39 @@
|
||||
Preset
|
||||
desc=Quite close to the original Cryptiq-plugins effect.
|
||||
orientnum=1
|
||||
orientfirst=0.000000
|
||||
orientlast=0.000000
|
||||
orienttype=0
|
||||
sizenum=10
|
||||
sizefirst=6.000000
|
||||
sizelast=25.000000
|
||||
sizetype=6
|
||||
brushrelief=100.000000
|
||||
brushdensity=50.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=3.500000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/ball.ppm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
40
plug-ins/pikaressionist/Presets/Mossy
Normal file
40
plug-ins/pikaressionist/Presets/Mossy
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Very rough moss-like texture. Works quite well for tileable backgrounds and other textures.
|
||||
orientnum=21
|
||||
orientfirst=31.860001
|
||||
orientlast=180.220001
|
||||
orienttype=6
|
||||
sizenum=1
|
||||
sizefirst=30.570000
|
||||
sizelast=30.570000
|
||||
sizetype=0
|
||||
brushrelief=41.590000
|
||||
brushdensity=26.580000
|
||||
brushgamma=0.500000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/strange01.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
40
plug-ins/pikaressionist/Presets/Painted_Rock
Normal file
40
plug-ins/pikaressionist/Presets/Painted_Rock
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Rough paint-on-rock sort of texture. Good for tileable backgrounds.
|
||||
orientnum=30
|
||||
orientfirst=0.000000
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
sizenum=1
|
||||
sizefirst=35.369999
|
||||
sizelast=35.369999
|
||||
sizetype=0
|
||||
brushrelief=100.000000
|
||||
brushdensity=20.000000
|
||||
brushgamma=2.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/splat3.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
30
plug-ins/pikaressionist/Presets/Parquette
Normal file
30
plug-ins/pikaressionist/Presets/Parquette
Normal file
@ -0,0 +1,30 @@
|
||||
Preset
|
||||
orientnum=4
|
||||
orientfirst=31.860001
|
||||
orientlast=360.000000
|
||||
orienttype=7
|
||||
brushrelief=12.000000
|
||||
brushscale=20.000000
|
||||
brushdensity=20.000000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.630000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.400000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/crayon04.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=3
|
||||
orientvector=0,0.240000,0.333333,0.000000,0.000000,1.000000,1.000000,3
|
||||
orientvector=1,0.780000,0.293333,0.000000,0.000000,1.000000,1.000000,3
|
||||
orientvector=2,0.533333,0.813333,0.000000,0.000000,1.000000,1.000000,3
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=1
|
28
plug-ins/pikaressionist/Presets/Patchwork
Normal file
28
plug-ins/pikaressionist/Presets/Patchwork
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=8
|
||||
orientfirst=22.299999
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
brushrelief=15.040000
|
||||
brushscale=13.630000
|
||||
brushdensity=15.500000
|
||||
brushgamma=0.860000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=0
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/spunge02.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=1
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
28
plug-ins/pikaressionist/Presets/Ringworks
Normal file
28
plug-ins/pikaressionist/Presets/Ringworks
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=1
|
||||
orientfirst=0.000000
|
||||
orientlast=0.000000
|
||||
orienttype=2
|
||||
brushrelief=0.000000
|
||||
brushscale=11.330000
|
||||
brushdensity=12.390000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.000000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=100.570000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/shape03.pgm
|
||||
selectedpaper=Paper/canvas2.pgm
|
||||
color=646566
|
||||
placetype=1
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
40
plug-ins/pikaressionist/Presets/Sample
Normal file
40
plug-ins/pikaressionist/Presets/Sample
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Plain oil-painting. Good for big pictures, as much of the details are lost.
|
||||
orientnum=30
|
||||
orientfirst=70.089996
|
||||
orientlast=360.000000
|
||||
orienttype=5
|
||||
sizenum=1
|
||||
sizefirst=15.350000
|
||||
sizelast=15.350000
|
||||
sizetype=0
|
||||
brushrelief=12.000000
|
||||
brushdensity=40.000000
|
||||
brushgamma=1.310000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.050000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/defaultbrush.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
40
plug-ins/pikaressionist/Presets/Smash
Normal file
40
plug-ins/pikaressionist/Presets/Smash
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Looks like a mixture between a spiderweb and a smashed window.
|
||||
orientnum=17
|
||||
orientfirst=15.930000
|
||||
orientlast=360.000000
|
||||
orienttype=3
|
||||
sizenum=1
|
||||
sizefirst=25.780001
|
||||
sizelast=25.780001
|
||||
sizetype=0
|
||||
brushrelief=0.000000
|
||||
brushdensity=20.950001
|
||||
brushgamma=0.500000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.100000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/strange01.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
41
plug-ins/pikaressionist/Presets/Straws
Normal file
41
plug-ins/pikaressionist/Presets/Straws
Normal file
@ -0,0 +1,41 @@
|
||||
Preset
|
||||
desc=The image looks like it is made up of small pieces of straw or chips of wood. Tileable.
|
||||
orientnum=30
|
||||
orientfirst=41.419998
|
||||
orientlast=360.000000
|
||||
orienttype=6
|
||||
sizenum=1
|
||||
sizefirst=29.730000
|
||||
sizelast=29.730000
|
||||
sizetype=0
|
||||
brushrelief=0.000000
|
||||
brushdensity=32.650002
|
||||
brushgamma=1.000000
|
||||
brushaspect=-0.400000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.350000
|
||||
generalpaintedges=1
|
||||
generaltileable=1
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/defaultbrush.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=000000
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=2
|
||||
orientvector=0,0.500000,0.500000,90.000000,1.000000,0.000000,1.000000,3
|
||||
orientvector=1,0.500000,0.500000,270.000000,-1.000000,0.000000,1.000000,3
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.400000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
40
plug-ins/pikaressionist/Presets/Weave
Normal file
40
plug-ins/pikaressionist/Presets/Weave
Normal file
@ -0,0 +1,40 @@
|
||||
Preset
|
||||
desc=Makes the image look like some sort of woven quilt or rug, or something in that direction.
|
||||
orientnum=4
|
||||
orientfirst=9.560000
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
sizenum=1
|
||||
sizefirst=20.530001
|
||||
sizelast=20.530001
|
||||
sizetype=0
|
||||
brushrelief=12.000000
|
||||
brushdensity=13.080000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=1
|
||||
generaldarkedge=0.050000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
generaldropshadow=0
|
||||
generalshadowdarkness=20.000000
|
||||
devthresh=0.100000
|
||||
paperrelief=30.969999
|
||||
paperscale=100.570000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/fabric01.pgm
|
||||
selectedpaper=Paper/canvas2.pgm
|
||||
color=646566
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
||||
numsizevector=1
|
||||
sizevector=0,0.500000,0.500000,0.000000,0.000000,0
|
||||
sizeangoff=0.000000
|
||||
sizestrexp=0.000000
|
||||
sizevoronoi=0
|
28
plug-ins/pikaressionist/Presets/Wormcan
Normal file
28
plug-ins/pikaressionist/Presets/Wormcan
Normal file
@ -0,0 +1,28 @@
|
||||
Preset
|
||||
orientnum=16
|
||||
orientfirst=0.000000
|
||||
orientlast=360.000000
|
||||
orienttype=2
|
||||
brushrelief=30.969999
|
||||
brushscale=20.000000
|
||||
brushdensity=25.160000
|
||||
brushgamma=1.000000
|
||||
brushaspect=0.000000
|
||||
generalbgtype=0
|
||||
generaldarkedge=0.050000
|
||||
generalpaintedges=1
|
||||
generaltileable=0
|
||||
paperrelief=0.000000
|
||||
paperscale=30.000000
|
||||
paperinvert=0
|
||||
paperoverlay=0
|
||||
selectedbrush=Brushes/wavy.pgm
|
||||
selectedpaper=Paper/defaultpaper.pgm
|
||||
color=010101
|
||||
placetype=0
|
||||
placecenter=0
|
||||
numorientvector=1
|
||||
orientvector=0,0.500000,0.500000,0.000000,0.000000,1.000000,1.000000,0
|
||||
orientangoff=0.000000
|
||||
orientstrexp=1.000000
|
||||
orientvoronoi=0
|
32
plug-ins/pikaressionist/Presets/meson.build
Normal file
32
plug-ins/pikaressionist/Presets/meson.build
Normal file
@ -0,0 +1,32 @@
|
||||
presets = [
|
||||
'ApplyCanvas',
|
||||
'Ballpark',
|
||||
'Canvas',
|
||||
'Crosshatch',
|
||||
'Cubism',
|
||||
'Dotify',
|
||||
'Embroidery',
|
||||
'Feathers',
|
||||
'Felt-marker',
|
||||
'Flowerbed',
|
||||
'Furry',
|
||||
'Line-art-2',
|
||||
'Line-art',
|
||||
'Maggot-invasion',
|
||||
'MarbleMadness',
|
||||
'Mossy',
|
||||
'Painted_Rock',
|
||||
'Parquette',
|
||||
'Patchwork',
|
||||
'Ringworks',
|
||||
'Sample',
|
||||
'Smash',
|
||||
'Straws',
|
||||
'Weave',
|
||||
'Wormcan',
|
||||
]
|
||||
|
||||
install_data(
|
||||
presets,
|
||||
install_dir: pikadatadir / 'pikaressionist' / 'Presets',
|
||||
)
|
102
plug-ins/pikaressionist/README
Normal file
102
plug-ins/pikaressionist/README
Normal file
@ -0,0 +1,102 @@
|
||||
This is the README for The PIKAressionist
|
||||
(c) 1998, 1999 Vidar Madsen - vidar@prosalg.no
|
||||
|
||||
The PIKAressionist is free software, and may be distributed
|
||||
freely, provided this file is included!
|
||||
|
||||
This program comes with no warranty, whatsoever. The author
|
||||
can not be held liable for any damage caused by proper or
|
||||
improper use of this program.
|
||||
|
||||
|
||||
--- Introduction
|
||||
|
||||
The PIKAressionist is a plug-in for the Photo and Image Kooker Application,
|
||||
a.k.a. PIKA. It can be used to create natural looking painting effects
|
||||
and similar. It can also be run in a primitive "standalone" mode.
|
||||
|
||||
The current version is still a bit shaky, and is to be considered beta
|
||||
software. I'll do some serious testing, hopefully across a few more
|
||||
platforms, as soon as I can.
|
||||
|
||||
The official Web-page is http://www.prosalg.no/~vidar/pikaressionist/ and
|
||||
will always contain a link to the latest released version.
|
||||
|
||||
|
||||
--- Compiling / Installing
|
||||
|
||||
To compile (hopefully):
|
||||
make
|
||||
|
||||
If you want to compile for GTK-1.1 and PIKA-1.1 instead, you will have
|
||||
to change the two variable at the top of Makefile. Possibly you would
|
||||
want to edit DEFAULTPATH as well, but that's not critical.
|
||||
|
||||
To install plug-in and accompanying files:
|
||||
make install
|
||||
|
||||
The plug-in installs itself under $HOME/.pika/plug-ins/ and copies a
|
||||
couple of files into the directory $HOME/.pika/pikaressionist/. The
|
||||
subdirectories 'Brushes', 'Paper' and 'Presets' will be created during
|
||||
"make install", and a few files will be added; As a minimum,
|
||||
'defaultbrush.pgm' and 'defaultpaper.pgm' under their respective
|
||||
directories. These are vanilla .PGM files, which could be edited (and
|
||||
created) with any decent program - like PIKA! :-)
|
||||
|
||||
|
||||
--- Standalone
|
||||
|
||||
As of version 0.99 and later, the PIKAressionist can also be run
|
||||
separately from PIKA. This is primarily intended for debugging
|
||||
purposes, though, as it still needs PIKA libraries to compile. In your
|
||||
shell, type:
|
||||
pikaressionist somefile.ppm
|
||||
|
||||
The image specified must be a valid PPM file. No other formats are
|
||||
supported, and probably never will.
|
||||
|
||||
If you click "OK", the PPM will be replaced with the "repainted" version.
|
||||
If you "Cancel", nothing will be done to the file.
|
||||
|
||||
|
||||
--- File Formats
|
||||
|
||||
The "normal" brushes are simply grayscale PGM files, which can be created
|
||||
with almost any program, including xv and of course PIKA. A number of
|
||||
brushes is included, so I guess a more in-depth explanation is not
|
||||
necessary. And, for those who might want to try it, PIKAressionist can
|
||||
also read GBR files, which is PIKA's native brush format. (You still
|
||||
need to copy them to the PIKAressionist's brush-directory, though. This
|
||||
will probably be fixed sometimes.)
|
||||
|
||||
Version 0.99.4 introduced the concept of using "colored" brushes (although
|
||||
"pre-rendered" usually is more correct). The brushes' file format is a
|
||||
plain PPM file, but the layout is somewhat special (and kinda hard to
|
||||
explain);
|
||||
|
||||
- The Red channel contains a shading map of the brush in question. Often
|
||||
it resembles the overall image more or less completely.
|
||||
|
||||
- The Green channel contains a high-light map. This is a pre-defined
|
||||
image of the shiny parts of the brush. (Ordinary grayscale brushes
|
||||
have this calculated automatically with a rough emboss-ish algorithm.)
|
||||
|
||||
- The Blue channel functions as a brush mask. When applying a brush
|
||||
stroke to the image, all areas colored blue in the file are first
|
||||
"blacked out" of the image.
|
||||
|
||||
|
||||
--- Feedback
|
||||
|
||||
If you have any comments, criticism, ideas for improvement or new
|
||||
features, or if you run into problems of any sort, let me know, so that I
|
||||
can (try to) fix it for the next release! (And, if you find platform-
|
||||
dependent bugs, please try to fix them and send me a patch!)
|
||||
|
||||
I'm also welcoming contributions in the form of brushes or textures! For
|
||||
this program to be valuable, it needs them... Bad! All contributions will
|
||||
be properly credited, of course.
|
||||
|
||||
Good luck and happy painting!
|
||||
|
||||
Vidar Madsen <vidar@prosalg.no>
|
653
plug-ins/pikaressionist/brush.c
Normal file
653
plug-ins/pikaressionist/brush.c
Normal file
@ -0,0 +1,653 @@
|
||||
/* PIKA - Photo and Image Kooker Application
|
||||
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
|
||||
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
|
||||
*
|
||||
* Original copyright, applying to most contents (license remains unchanged):
|
||||
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <libpika/pika.h>
|
||||
#include <libpika/pikaui.h>
|
||||
|
||||
#include <libpikamath/pikamath.h>
|
||||
|
||||
#include "pikaressionist.h"
|
||||
#include "ppmtool.h"
|
||||
#include "brush.h"
|
||||
#include "presets.h"
|
||||
|
||||
#include <libpika/stdplugins-intl.h>
|
||||
|
||||
|
||||
static void update_brush_preview (const char *fn);
|
||||
|
||||
|
||||
static GtkWidget *brush_preview = NULL;
|
||||
static GtkListStore *brush_list_store = NULL;
|
||||
|
||||
static GtkWidget *brush_list = NULL;
|
||||
static GtkWidget *brush_relief_scale = NULL;
|
||||
static GtkWidget *brush_aspect_scale = NULL;
|
||||
static GtkAdjustment *brush_gamma_adjust = NULL;
|
||||
static gboolean brush_dont_update = FALSE;
|
||||
|
||||
static gchar *last_selected_brush = NULL;
|
||||
|
||||
static gint brush_from_file = 2;
|
||||
|
||||
static ppm_t brushppm = {0, 0, NULL};
|
||||
|
||||
void
|
||||
brush_restore (void)
|
||||
{
|
||||
reselect (brush_list, pcvals.selected_brush);
|
||||
gtk_adjustment_set_value (brush_gamma_adjust, pcvals.brushgamma);
|
||||
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_relief_scale), pcvals.brush_relief);
|
||||
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_aspect_scale), pcvals.brush_aspect);
|
||||
}
|
||||
|
||||
void
|
||||
brush_store (void)
|
||||
{
|
||||
pcvals.brushgamma = gtk_adjustment_get_value (brush_gamma_adjust);
|
||||
}
|
||||
|
||||
void
|
||||
brush_free (void)
|
||||
{
|
||||
g_free (last_selected_brush);
|
||||
}
|
||||
|
||||
void brush_get_selected (ppm_t *p)
|
||||
{
|
||||
if (brush_from_file)
|
||||
brush_reload (pcvals.selected_brush, p);
|
||||
else
|
||||
ppm_copy (&brushppm, p);
|
||||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
file_is_color (const char *fn)
|
||||
{
|
||||
return fn && strstr (fn, ".ppm");
|
||||
}
|
||||
|
||||
void
|
||||
set_colorbrushes (const gchar *fn)
|
||||
{
|
||||
pcvals.color_brushes = file_is_color (fn);
|
||||
}
|
||||
|
||||
static const Babl *
|
||||
get_u8_format (PikaDrawable *drawable)
|
||||
{
|
||||
if (pika_drawable_is_rgb (drawable))
|
||||
{
|
||||
if (pika_drawable_has_alpha (drawable))
|
||||
return babl_format ("R'G'B'A u8");
|
||||
else
|
||||
return babl_format ("R'G'B' u8");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pika_drawable_has_alpha (drawable))
|
||||
return babl_format ("Y'A u8");
|
||||
else
|
||||
return babl_format ("Y' u8");
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
brushdmenuselect (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
GeglBuffer *src_buffer;
|
||||
const Babl *format;
|
||||
guchar *src_row;
|
||||
guchar *src;
|
||||
gint bpp;
|
||||
gint x, y;
|
||||
ppm_t *p;
|
||||
gint x1, y1, w, h;
|
||||
gint row;
|
||||
gint32 drawable_id = -1;
|
||||
PikaDrawable *drawable;
|
||||
gint rowstride;
|
||||
|
||||
pika_int_combo_box_get_active (PIKA_INT_COMBO_BOX (widget), &drawable_id);
|
||||
|
||||
drawable = pika_drawable_get_by_id (drawable_id);
|
||||
|
||||
if (! drawable)
|
||||
return;
|
||||
|
||||
if (brush_from_file == 2)
|
||||
return; /* Not finished GUI-building yet */
|
||||
|
||||
if (brush_from_file)
|
||||
{
|
||||
#if 0
|
||||
unselectall (brush_list);
|
||||
#endif
|
||||
preset_save_button_set_sensitive (FALSE);
|
||||
}
|
||||
|
||||
gtk_adjustment_set_value (brush_gamma_adjust, 1.0);
|
||||
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_aspect_scale), 0.0);
|
||||
|
||||
if (! pika_drawable_mask_intersect (drawable, &x1, &y1, &w, &h))
|
||||
return;
|
||||
|
||||
format = get_u8_format (drawable);
|
||||
bpp = babl_format_get_bytes_per_pixel (format);
|
||||
|
||||
ppm_kill (&brushppm);
|
||||
ppm_new (&brushppm, w, h);
|
||||
p = &brushppm;
|
||||
|
||||
rowstride = p->width * 3;
|
||||
|
||||
src_row = g_new (guchar, w * bpp);
|
||||
|
||||
src_buffer = pika_drawable_get_buffer (drawable);
|
||||
|
||||
if (bpp == 3)
|
||||
{ /* RGB */
|
||||
gint bpr = w * 3;
|
||||
gint y2 = y1 + h;
|
||||
|
||||
for (row = 0, y = y1; y < y2; row++, y++)
|
||||
{
|
||||
gegl_buffer_get (src_buffer, GEGL_RECTANGLE (x1, y, w, 1), 1.0,
|
||||
format, src_row,
|
||||
GEGL_AUTO_ROWSTRIDE, GEGL_ABYSS_NONE);
|
||||
|
||||
memcpy (p->col + row*rowstride, src_row, bpr);
|
||||
}
|
||||
}
|
||||
else
|
||||
{ /* RGBA (bpp > 3) GrayA (bpp == 2) or Gray */
|
||||
gboolean is_gray = ((bpp > 3) ? TRUE : FALSE);
|
||||
gint y2 = y1 + h;
|
||||
|
||||
for (row = 0, y = y1; y < y2; row++, y++)
|
||||
{
|
||||
guchar *tmprow = p->col + row * rowstride;
|
||||
guchar *tmprow_ptr;
|
||||
gint x2 = x1 + w;
|
||||
|
||||
gegl_buffer_get (src_buffer, GEGL_RECTANGLE (x1, y, w, 1), 1.0,
|
||||
format, src_row,
|
||||
GEGL_AUTO_ROWSTRIDE, GEGL_ABYSS_NONE);
|
||||
|
||||
src = src_row;
|
||||
tmprow_ptr = tmprow;
|
||||
/* Possible micro-optimization here:
|
||||
* src_end = src + src_rgn.bpp * w);
|
||||
* for ( ; src < src_end ; src += src_rgn.bpp)
|
||||
*/
|
||||
for (x = x1; x < x2; x++)
|
||||
{
|
||||
*(tmprow_ptr++) = src[0];
|
||||
*(tmprow_ptr++) = src[is_gray ? 1 : 0];
|
||||
*(tmprow_ptr++) = src[is_gray ? 2 : 0];
|
||||
src += bpp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
g_object_unref (src_buffer);
|
||||
|
||||
g_free (src_row);
|
||||
|
||||
if (bpp >= 3)
|
||||
pcvals.color_brushes = 1;
|
||||
else
|
||||
pcvals.color_brushes = 0;
|
||||
|
||||
brush_from_file = 0;
|
||||
update_brush_preview (NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
brushlistrefresh (void)
|
||||
{
|
||||
gtk_list_store_clear (brush_list_store);
|
||||
readdirintolist ("Brushes", brush_list, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
savebrush_response (GtkWidget *dialog,
|
||||
gint response_id,
|
||||
gpointer data)
|
||||
{
|
||||
if (response_id == GTK_RESPONSE_OK)
|
||||
{
|
||||
gchar *name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
||||
|
||||
ppm_save (&brushppm, name);
|
||||
brushlistrefresh ();
|
||||
|
||||
g_free (name);
|
||||
}
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
}
|
||||
|
||||
static void
|
||||
savebrush (GtkWidget *wg,
|
||||
gpointer data)
|
||||
{
|
||||
GtkWidget *dialog = NULL;
|
||||
GList *thispath = parsepath ();
|
||||
gchar *path;
|
||||
|
||||
if (! PPM_IS_INITED (&brushppm))
|
||||
{
|
||||
g_message ( _("Can only save drawables!"));
|
||||
return;
|
||||
}
|
||||
|
||||
dialog =
|
||||
gtk_file_chooser_dialog_new (_("Save Brush"),
|
||||
GTK_WINDOW (gtk_widget_get_toplevel (wg)),
|
||||
GTK_FILE_CHOOSER_ACTION_SAVE,
|
||||
|
||||
_("_Cancel"), GTK_RESPONSE_CANCEL,
|
||||
_("_Save"), GTK_RESPONSE_OK,
|
||||
|
||||
NULL);
|
||||
|
||||
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
|
||||
pika_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
|
||||
GTK_RESPONSE_OK,
|
||||
GTK_RESPONSE_CANCEL,
|
||||
-1);
|
||||
|
||||
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog),
|
||||
TRUE);
|
||||
|
||||
path = g_build_filename ((gchar *)thispath->data, "Brushes", NULL);
|
||||
|
||||
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), path);
|
||||
|
||||
g_free (path);
|
||||
|
||||
g_signal_connect (dialog, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed),
|
||||
&dialog);
|
||||
g_signal_connect (dialog, "response",
|
||||
G_CALLBACK (savebrush_response),
|
||||
NULL);
|
||||
|
||||
gtk_widget_show (dialog);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
validdrawable (PikaImage *image,
|
||||
PikaItem *item,
|
||||
gpointer data)
|
||||
{
|
||||
return (pika_drawable_is_rgb (PIKA_DRAWABLE (item)) ||
|
||||
pika_drawable_is_gray (PIKA_DRAWABLE (item)));
|
||||
}
|
||||
|
||||
/*
|
||||
* This function caches the last result. Call it with fn as NULL, to
|
||||
* free the arguments.
|
||||
* */
|
||||
void
|
||||
brush_reload (const gchar *fn,
|
||||
ppm_t *p)
|
||||
{
|
||||
static char lastfn[256] = "";
|
||||
static ppm_t cache = {0, 0, NULL};
|
||||
|
||||
if (fn == NULL)
|
||||
{
|
||||
ppm_kill (&cache);
|
||||
lastfn[0] = '\0';
|
||||
return;
|
||||
}
|
||||
|
||||
if (strcmp (fn, lastfn))
|
||||
{
|
||||
g_strlcpy (lastfn, fn, sizeof (lastfn));
|
||||
ppm_kill (&cache);
|
||||
ppm_load (fn, &cache);
|
||||
}
|
||||
ppm_copy (&cache, p);
|
||||
set_colorbrushes (fn);
|
||||
}
|
||||
|
||||
static void
|
||||
padbrush (ppm_t *p,
|
||||
gint width,
|
||||
gint height)
|
||||
{
|
||||
guchar black[3] = {0, 0, 0};
|
||||
|
||||
int left = (width - p->width) / 2;
|
||||
int right = (width - p->width) - left;
|
||||
int top = (height - p->height) / 2;
|
||||
int bottom = (height - p->height) - top;
|
||||
|
||||
ppm_pad (p, left, right, top, bottom, black);
|
||||
}
|
||||
|
||||
static void
|
||||
update_brush_preview (const gchar *fn)
|
||||
{
|
||||
gint i, j;
|
||||
guchar *preview_image;
|
||||
|
||||
if (fn)
|
||||
brush_from_file = 1;
|
||||
|
||||
preview_image = g_new0 (guchar, 100*100);
|
||||
|
||||
if (!fn && brush_from_file)
|
||||
{
|
||||
/* preview_image is already initialized to our liking. */
|
||||
}
|
||||
else
|
||||
{
|
||||
double sc;
|
||||
ppm_t p = {0, 0, NULL};
|
||||
guchar gammatable[256];
|
||||
int newheight;
|
||||
|
||||
if (brush_from_file)
|
||||
brush_reload (fn, &p);
|
||||
else if (PPM_IS_INITED (&brushppm))
|
||||
ppm_copy (&brushppm, &p);
|
||||
|
||||
set_colorbrushes (fn);
|
||||
|
||||
sc = gtk_adjustment_get_value (brush_gamma_adjust);
|
||||
if (sc != 1.0)
|
||||
for (i = 0; i < 256; i++)
|
||||
gammatable[i] = pow (i / 255.0, sc) * 255;
|
||||
else
|
||||
for (i = 0; i < 256; i++)
|
||||
gammatable[i] = i;
|
||||
|
||||
newheight = p.height *
|
||||
pow (10, pika_label_spin_get_value (PIKA_LABEL_SPIN (brush_aspect_scale)));
|
||||
|
||||
sc = p.width > newheight ? p.width : newheight;
|
||||
sc = 100.0 / sc;
|
||||
resize_fast (&p, p.width*sc,newheight*sc);
|
||||
padbrush (&p, 100, 100);
|
||||
for (i = 0; i < 100; i++)
|
||||
{
|
||||
int k = i * p.width * 3;
|
||||
if (i < p.height)
|
||||
for (j = 0; j < p.width; j++)
|
||||
preview_image[i*100+j] = gammatable[p.col[k + j * 3]];
|
||||
}
|
||||
ppm_kill (&p);
|
||||
}
|
||||
pika_preview_area_draw (PIKA_PREVIEW_AREA (brush_preview),
|
||||
0, 0, 100, 100,
|
||||
PIKA_GRAY_IMAGE,
|
||||
preview_image,
|
||||
100);
|
||||
|
||||
g_free (preview_image);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* "force" implies here to change the brush even if it was the same.
|
||||
* It is used for the initialization of the preview.
|
||||
* */
|
||||
static void
|
||||
brush_select (GtkTreeSelection *selection, gboolean force)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkTreeModel *model;
|
||||
gchar *fname = NULL;
|
||||
gchar *brush = NULL;
|
||||
|
||||
if (brush_dont_update)
|
||||
goto cleanup;
|
||||
|
||||
if (brush_from_file == 0)
|
||||
{
|
||||
update_brush_preview (NULL);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
{
|
||||
gtk_tree_model_get (model, &iter, 0, &brush, -1);
|
||||
|
||||
/* Check if the same brush was selected twice, and if so
|
||||
* break. Otherwise, the brush gamma and stuff would have been
|
||||
* reset.
|
||||
* */
|
||||
if (last_selected_brush == NULL)
|
||||
{
|
||||
last_selected_brush = g_strdup (brush);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!strcmp (last_selected_brush, brush))
|
||||
{
|
||||
if (!force)
|
||||
{
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_free (last_selected_brush);
|
||||
last_selected_brush = g_strdup (brush);
|
||||
}
|
||||
}
|
||||
|
||||
brush_dont_update = TRUE;
|
||||
gtk_adjustment_set_value (brush_gamma_adjust, 1.0);
|
||||
pika_label_spin_set_value (PIKA_LABEL_SPIN (brush_aspect_scale), 0.0);
|
||||
brush_dont_update = FALSE;
|
||||
|
||||
if (brush)
|
||||
{
|
||||
fname = g_build_filename ("Brushes", brush, NULL);
|
||||
|
||||
g_strlcpy (pcvals.selected_brush,
|
||||
fname, sizeof (pcvals.selected_brush));
|
||||
|
||||
update_brush_preview (fname);
|
||||
|
||||
}
|
||||
}
|
||||
cleanup:
|
||||
g_free (fname);
|
||||
g_free (brush);
|
||||
}
|
||||
|
||||
static void
|
||||
brush_select_file (GtkTreeSelection *selection, gpointer data)
|
||||
{
|
||||
brush_from_file = 1;
|
||||
preset_save_button_set_sensitive (TRUE);
|
||||
brush_select (selection, FALSE);
|
||||
}
|
||||
|
||||
static void
|
||||
brush_preview_size_allocate (GtkWidget *preview)
|
||||
{
|
||||
GtkTreeSelection *selection;
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (brush_list));
|
||||
brush_select (selection, TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
brush_aspect_adjust_cb (PikaLabelSpin *scale,
|
||||
gdouble *value)
|
||||
{
|
||||
pikaressionist_scale_entry_update_double (scale, value);
|
||||
update_brush_preview (pcvals.selected_brush);
|
||||
}
|
||||
|
||||
void
|
||||
create_brushpage (GtkNotebook *notebook)
|
||||
{
|
||||
GtkWidget *box1, *box2, *box3, *thispage;
|
||||
GtkWidget *view;
|
||||
GtkWidget *tmpw, *grid;
|
||||
GtkWidget *frame;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *label;
|
||||
GtkSizeGroup *group;
|
||||
GtkTreeSelection *selection;
|
||||
|
||||
label = gtk_label_new_with_mnemonic (_("_Brush"));
|
||||
|
||||
thispage = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (thispage), 12);
|
||||
gtk_widget_show (thispage);
|
||||
|
||||
box1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
|
||||
gtk_box_pack_start (GTK_BOX (thispage), box1, TRUE,TRUE,0);
|
||||
gtk_widget_show (box1);
|
||||
|
||||
view = create_one_column_list (box1, brush_select_file);
|
||||
brush_list = view;
|
||||
brush_list_store =
|
||||
GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (view)));
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (view));
|
||||
|
||||
box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
||||
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0);
|
||||
gtk_widget_show (box2);
|
||||
|
||||
frame = gtk_frame_new (NULL);
|
||||
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
|
||||
gtk_box_pack_start (GTK_BOX (box2), frame, FALSE, FALSE, 0);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
brush_preview = tmpw = pika_preview_area_new ();
|
||||
gtk_widget_set_size_request (brush_preview, 100, 100);
|
||||
gtk_container_add (GTK_CONTAINER (frame), tmpw);
|
||||
gtk_widget_show (tmpw);
|
||||
g_signal_connect (brush_preview, "size-allocate",
|
||||
G_CALLBACK (brush_preview_size_allocate), NULL);
|
||||
|
||||
box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||
gtk_box_pack_end (GTK_BOX (box2), box3, FALSE, FALSE,0);
|
||||
gtk_widget_show (box3);
|
||||
|
||||
tmpw = gtk_label_new (_("Gamma:"));
|
||||
gtk_label_set_xalign (GTK_LABEL (tmpw), 0.0);
|
||||
gtk_box_pack_start (GTK_BOX (box3), tmpw, FALSE, FALSE,0);
|
||||
gtk_widget_show (tmpw);
|
||||
|
||||
brush_gamma_adjust = gtk_adjustment_new (pcvals.brushgamma,
|
||||
0.5, 3.0, 0.1, 0.1, 1.0);
|
||||
tmpw = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, brush_gamma_adjust);
|
||||
gtk_widget_set_size_request (GTK_WIDGET (tmpw), 100, 30);
|
||||
gtk_scale_set_draw_value (GTK_SCALE (tmpw), FALSE);
|
||||
gtk_scale_set_digits (GTK_SCALE (tmpw), 2);
|
||||
gtk_box_pack_start (GTK_BOX (box3), tmpw, FALSE, FALSE, 0);
|
||||
gtk_widget_show (tmpw);
|
||||
g_signal_connect_swapped (brush_gamma_adjust, "value-changed",
|
||||
G_CALLBACK (update_brush_preview),
|
||||
pcvals.selected_brush);
|
||||
|
||||
pika_help_set_help_data
|
||||
(tmpw, _("Changes the gamma (brightness) of the selected brush"), NULL);
|
||||
|
||||
box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
|
||||
gtk_box_pack_start (GTK_BOX (thispage), box3, FALSE, FALSE,0);
|
||||
gtk_widget_show (box3);
|
||||
|
||||
group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||
|
||||
tmpw = gtk_label_new (_("Select:"));
|
||||
gtk_label_set_xalign (GTK_LABEL (tmpw), 0.0);
|
||||
gtk_box_pack_start (GTK_BOX (box3), tmpw, FALSE, FALSE, 0);
|
||||
gtk_widget_show (tmpw);
|
||||
|
||||
gtk_size_group_add_widget (group, tmpw);
|
||||
g_object_unref (group);
|
||||
|
||||
combo = pika_drawable_combo_box_new (validdrawable, NULL, NULL);
|
||||
pika_int_combo_box_connect (PIKA_INT_COMBO_BOX (combo), -1,
|
||||
G_CALLBACK (brushdmenuselect),
|
||||
NULL, NULL);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (box3), combo, TRUE, TRUE, 0);
|
||||
gtk_widget_show (combo);
|
||||
|
||||
tmpw = gtk_button_new_with_mnemonic (_("Save _as"));
|
||||
gtk_box_pack_start (GTK_BOX (box3),tmpw, FALSE, FALSE, 0);
|
||||
g_signal_connect (tmpw, "clicked", G_CALLBACK (savebrush), NULL);
|
||||
gtk_widget_show (tmpw);
|
||||
|
||||
grid = gtk_grid_new ();
|
||||
gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
|
||||
gtk_grid_set_column_spacing (GTK_GRID (grid), 6);
|
||||
gtk_box_pack_start (GTK_BOX (thispage), grid, FALSE, FALSE, 0);
|
||||
gtk_widget_show (grid);
|
||||
|
||||
brush_aspect_scale =
|
||||
pika_scale_entry_new (_("Aspect ratio:"), pcvals.brush_aspect, -1.0, 1.0, 2);
|
||||
pika_help_set_help_data (brush_aspect_scale,
|
||||
_("Specifies the aspect ratio of the brush"),
|
||||
NULL);
|
||||
gtk_size_group_add_widget (group,
|
||||
pika_labeled_get_label (PIKA_LABELED (brush_aspect_scale)));
|
||||
g_signal_connect (brush_aspect_scale, "value-changed",
|
||||
G_CALLBACK (brush_aspect_adjust_cb),
|
||||
&pcvals.brush_aspect);
|
||||
gtk_grid_attach (GTK_GRID (grid), brush_aspect_scale, 0, 0, 3, 1);
|
||||
gtk_widget_show (brush_aspect_scale);
|
||||
|
||||
brush_relief_scale =
|
||||
pika_scale_entry_new (_("Relief:"), pcvals.brush_relief, 0.0, 100.0, 1);
|
||||
pika_help_set_help_data (brush_relief_scale,
|
||||
_("Specifies the amount of embossing to apply to the image (in percent)"),
|
||||
NULL);
|
||||
gtk_size_group_add_widget (group,
|
||||
pika_labeled_get_label (PIKA_LABELED (brush_relief_scale)));
|
||||
g_signal_connect (brush_relief_scale, "value-changed",
|
||||
G_CALLBACK (pikaressionist_scale_entry_update_double),
|
||||
&pcvals.brush_relief);
|
||||
gtk_grid_attach (GTK_GRID (grid), brush_relief_scale, 0, 1, 3, 1);
|
||||
gtk_widget_show (brush_relief_scale);
|
||||
|
||||
brush_select (selection, FALSE);
|
||||
readdirintolist ("Brushes", view, pcvals.selected_brush);
|
||||
|
||||
/*
|
||||
* This is so the "changed signal won't get sent to the brushes' list
|
||||
* and reset the gamma and stuff.
|
||||
* */
|
||||
gtk_widget_grab_focus (brush_list);
|
||||
|
||||
gtk_notebook_append_page_menu (notebook, thispage, label, NULL);
|
||||
}
|
||||
|
33
plug-ins/pikaressionist/brush.h
Normal file
33
plug-ins/pikaressionist/brush.h
Normal file
@ -0,0 +1,33 @@
|
||||
/* PIKA - Photo and Image Kooker Application
|
||||
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
|
||||
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
|
||||
*
|
||||
* Original copyright, applying to most contents (license remains unchanged):
|
||||
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __BRUSH_H
|
||||
#define __BRUSH_H
|
||||
|
||||
#include "ppmtool.h"
|
||||
|
||||
void brush_store(void);
|
||||
void brush_restore(void);
|
||||
void brush_free(void);
|
||||
void create_brushpage(GtkNotebook *);
|
||||
void brush_get_selected (ppm_t *p);
|
||||
|
||||
#endif /* #ifndef __BRUSH_H */
|
105
plug-ins/pikaressionist/color.c
Normal file
105
plug-ins/pikaressionist/color.c
Normal file
@ -0,0 +1,105 @@
|
||||
/* PIKA - Photo and Image Kooker Application
|
||||
* a rebranding of The GNU Image Manipulation Program (created with heckimp)
|
||||
* A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
|
||||
*
|
||||
* Original copyright, applying to most contents (license remains unchanged):
|
||||
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include <libpika/pika.h>
|
||||
#include <libpika/pikaui.h>
|
||||
|
||||
#include "pikaressionist.h"
|
||||
#include "color.h"
|
||||
|
||||
#include "libpika/stdplugins-intl.h"
|
||||
|
||||
|
||||
#define NUMCOLORRADIO 2
|
||||
|
||||
static GtkWidget *colorradio[NUMCOLORRADIO];
|
||||
static GtkWidget *colornoiseadjust = NULL;
|
||||
|
||||
void
|
||||
color_restore (void)
|
||||
{
|
||||
gtk_toggle_button_set_active
|
||||
(GTK_TOGGLE_BUTTON (colorradio[pcvals.color_type]), TRUE);
|
||||
|
||||
pika_label_spin_set_value (PIKA_LABEL_SPIN (colornoiseadjust),
|
||||
pcvals.color_noise);
|
||||
}
|
||||
|
||||
int
|
||||
color_type_input (int in)
|
||||
{
|
||||
return CLAMP_UP_TO (in, NUMCOLORRADIO);
|
||||
}
|
||||
|
||||
void
|
||||
create_colorpage (GtkNotebook *notebook)
|
||||
{
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *label;
|
||||
GtkWidget *frame;
|
||||
|
||||
label = gtk_label_new_with_mnemonic (_("Co_lor"));
|
||||
|
||||
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
|
||||
gtk_widget_show (vbox);
|
||||
|
||||
frame = pika_int_radio_group_new (TRUE, _("Color"),
|
||||
G_CALLBACK (pika_radio_button_update),
|
||||
&pcvals.color_type, NULL, 0,
|
||||
|
||||
_("A_verage under brush"),
|
||||
COLOR_TYPE_AVERAGE, &colorradio[COLOR_TYPE_AVERAGE],
|
||||
_("C_enter of brush"),
|
||||
COLOR_TYPE_CENTER, &colorradio[COLOR_TYPE_CENTER],
|
||||
|
||||
NULL);
|
||||
|
||||
pika_help_set_help_data
|
||||
(colorradio[COLOR_TYPE_AVERAGE],
|
||||
_("Color is computed from the average of all pixels under the brush"),
|
||||
NULL);
|
||||
pika_help_set_help_data
|
||||
(colorradio[COLOR_TYPE_CENTER],
|
||||
_("Samples the color from the pixel in the center of the brush"), NULL);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
|
||||
gtk_widget_show (frame);
|
||||
|
||||
colornoiseadjust =
|
||||
pika_scale_entry_new (_("Color _noise:"), pcvals.color_noise, 0.0, 100.0, 0);
|
||||
pika_help_set_help_data (colornoiseadjust,
|
||||
_("Adds random noise to the color"),
|
||||
NULL);
|
||||
g_signal_connect (colornoiseadjust, "value-changed",
|
||||
G_CALLBACK (pikaressionist_scale_entry_update_double),
|
||||
&pcvals.color_noise);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), colornoiseadjust, FALSE, FALSE, 6);
|
||||
gtk_widget_show (colornoiseadjust);
|
||||
|
||||
|
||||
color_restore ();
|
||||
|
||||
gtk_notebook_append_page_menu (notebook, vbox, label, NULL);
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user