Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
magicseteditor
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
magicseteditor
Commits
f24b8c40
Commit
f24b8c40
authored
Jul 14, 2007
by
coppro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added crop image function.
Fixed 'difference' symbol type.
parent
7580b472
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
50 additions
and
8 deletions
+50
-8
doc/type/double.txt
doc/type/double.txt
+1
-1
src/gfx/generated_image.cpp
src/gfx/generated_image.cpp
+19
-4
src/gfx/generated_image.hpp
src/gfx/generated_image.hpp
+17
-0
src/gui/symbol/window.cpp
src/gui/symbol/window.cpp
+2
-2
src/render/symbol/viewer.cpp
src/render/symbol/viewer.cpp
+1
-1
src/script/functions/image.cpp
src/script/functions/image.cpp
+10
-0
No files found.
doc/type/double.txt
View file @
f24b8c40
...
@@ -2,7 +2,7 @@ Primitive type: real number
...
@@ -2,7 +2,7 @@ Primitive type: real number
Real or floating point numbers are numbers with a decimal point.
Real or floating point numbers are numbers with a decimal point.
Conversio from integer to real numbers happens automatically in scripting.
Conversio
n
from integer to real numbers happens automatically in scripting.
--File syntax--
--File syntax--
> something: 123
> something: 123
...
...
src/gfx/generated_image.cpp
View file @
f24b8c40
...
@@ -185,15 +185,15 @@ bool SetCombineImage::operator == (const GeneratedImage& that) const {
...
@@ -185,15 +185,15 @@ bool SetCombineImage::operator == (const GeneratedImage& that) const {
Image
EnlargeImage
::
generate
(
const
Options
&
opt
)
const
{
Image
EnlargeImage
::
generate
(
const
Options
&
opt
)
const
{
// generate 'sub' image
// generate 'sub' image
Options
sub_opt
Options
sub_opt
(
opt
.
width
*
(
border_size
<
0.5
?
1
-
2
*
border_size
:
0
)
(
int
(
opt
.
width
*
(
border_size
<
0.5
?
1
-
2
*
border_size
:
0
)
)
,
opt
.
height
*
(
border_size
<
0.5
?
1
-
2
*
border_size
:
0
)
,
int
(
opt
.
height
*
(
border_size
<
0.5
?
1
-
2
*
border_size
:
0
)
)
,
opt
.
package
,
opt
.
package
,
opt
.
local_package
,
opt
.
local_package
,
opt
.
preserve_aspect
);
,
opt
.
preserve_aspect
);
Image
img
=
image
->
generate
(
sub_opt
);
Image
img
=
image
->
generate
(
sub_opt
);
// size of generated image
// size of generated image
int
w
=
img
.
GetWidth
(),
h
=
img
.
GetHeight
();
// original image size
int
w
=
img
.
GetWidth
(),
h
=
img
.
GetHeight
();
// original image size
int
dw
=
w
*
border_size
,
dh
=
h
*
border_size
;
// delta
int
dw
=
int
(
w
*
border_size
),
dh
=
int
(
h
*
border_size
)
;
// delta
int
w2
=
w
+
dw
+
dw
,
h2
=
h
+
dh
+
dh
;
// new image size
int
w2
=
w
+
dw
+
dw
,
h2
=
h
+
dh
+
dh
;
// new image size
Image
larger
(
w2
,
h2
);
Image
larger
(
w2
,
h2
);
larger
.
InitAlpha
();
larger
.
InitAlpha
();
...
@@ -221,6 +221,21 @@ bool EnlargeImage::operator == (const GeneratedImage& that) const {
...
@@ -221,6 +221,21 @@ bool EnlargeImage::operator == (const GeneratedImage& that) const {
&&
border_size
==
that2
->
border_size
;
&&
border_size
==
that2
->
border_size
;
}
}
// ----------------------------------------------------------------------------- : CropImage
Image
CropImage
::
generate
(
const
Options
&
opt
)
const
{
return
image
->
generate
(
opt
).
Size
(
wxSize
((
int
)
width
,
(
int
)
height
),
wxPoint
(
-
(
int
)
offset_x
,
-
(
int
)
offset_y
));
}
ImageCombine
CropImage
::
combine
()
const
{
return
image
->
combine
();
}
bool
CropImage
::
operator
==
(
const
GeneratedImage
&
that
)
const
{
const
CropImage
*
that2
=
dynamic_cast
<
const
CropImage
*>
(
&
that
);
return
that2
&&
*
image
==
*
that2
->
image
&&
width
==
that2
->
width
&&
height
==
that2
->
height
&&
offset_x
==
that2
->
offset_x
&&
offset_y
==
that2
->
offset_y
;
}
// ----------------------------------------------------------------------------- : DropShadowImage
// ----------------------------------------------------------------------------- : DropShadowImage
/// Preform a gaussian blur, from the image in of w*h bytes to out
/// Preform a gaussian blur, from the image in of w*h bytes to out
...
@@ -287,7 +302,7 @@ Image DropShadowImage::generate(const Options& opt) const {
...
@@ -287,7 +302,7 @@ Image DropShadowImage::generate(const Options& opt) const {
UInt
total
=
255
*
gaussian_blur
(
alpha
,
shadow
,
w
,
h
,
shadow_blur_radius
);
UInt
total
=
255
*
gaussian_blur
(
alpha
,
shadow
,
w
,
h
,
shadow_blur_radius
);
// combine
// combine
Byte
*
data
=
img
.
GetData
();
Byte
*
data
=
img
.
GetData
();
int
dw
=
w
*
offset_x
,
dh
=
h
*
offset_y
;
int
dw
=
int
(
w
*
offset_x
),
dh
=
int
(
h
*
offset_y
)
;
int
x_start
=
max
(
0
,
dw
),
y_start
=
max
(
0
,
dh
);
int
x_start
=
max
(
0
,
dw
),
y_start
=
max
(
0
,
dh
);
int
x_end
=
min
(
w
,
w
+
dw
),
y_end
=
min
(
h
,
h
+
dh
);
int
x_end
=
min
(
w
,
w
+
dw
),
y_end
=
min
(
h
,
h
+
dh
);
int
delta
=
dw
+
w
*
dh
;
int
delta
=
dw
+
w
*
dh
;
...
...
src/gfx/generated_image.hpp
View file @
f24b8c40
...
@@ -180,6 +180,23 @@ class EnlargeImage : public GeneratedImage {
...
@@ -180,6 +180,23 @@ class EnlargeImage : public GeneratedImage {
double
border_size
;
double
border_size
;
};
};
// ----------------------------------------------------------------------------- : CropImage
/// Crop an image at a certain point, to a certain size
class
CropImage
:
public
GeneratedImage
{
public:
inline
CropImage
(
const
GeneratedImageP
&
image
,
double
width
,
double
height
,
double
offset_x
,
double
offset_y
)
:
image
(
image
),
width
(
width
),
height
(
height
),
offset_x
(
offset_x
),
offset_y
(
offset_y
)
{}
virtual
Image
generate
(
const
Options
&
opt
)
const
;
virtual
ImageCombine
combine
()
const
;
virtual
bool
operator
==
(
const
GeneratedImage
&
that
)
const
;
private:
GeneratedImageP
image
;
double
width
,
height
;
double
offset_x
,
offset_y
;
};
// ----------------------------------------------------------------------------- : DropShadowImage
// ----------------------------------------------------------------------------- : DropShadowImage
/// Add a drop shadow to an image
/// Add a drop shadow to an image
...
...
src/gui/symbol/window.cpp
View file @
f24b8c40
...
@@ -246,14 +246,14 @@ void SymbolWindow::onFileExit(wxCommandEvent& ev) {
...
@@ -246,14 +246,14 @@ void SymbolWindow::onFileExit(wxCommandEvent& ev) {
void
SymbolWindow
::
onEditUndo
(
wxCommandEvent
&
ev
)
{
void
SymbolWindow
::
onEditUndo
(
wxCommandEvent
&
ev
)
{
if
(
!
control
->
isEditing
())
{
if
(
!
control
->
isEditing
()
&&
control
->
getSymbol
()
->
actions
.
canUndo
()
)
{
control
->
getSymbol
()
->
actions
.
undo
();
control
->
getSymbol
()
->
actions
.
undo
();
control
->
Refresh
(
false
);
control
->
Refresh
(
false
);
}
}
}
}
void
SymbolWindow
::
onEditRedo
(
wxCommandEvent
&
ev
)
{
void
SymbolWindow
::
onEditRedo
(
wxCommandEvent
&
ev
)
{
if
(
!
control
->
isEditing
())
{
if
(
!
control
->
isEditing
()
&&
control
->
getSymbol
()
->
actions
.
canRedo
()
)
{
control
->
getSymbol
()
->
actions
.
redo
();
control
->
getSymbol
()
->
actions
.
redo
();
control
->
Refresh
(
false
);
control
->
Refresh
(
false
);
}
}
...
...
src/render/symbol/viewer.cpp
View file @
f24b8c40
...
@@ -242,7 +242,7 @@ void SymbolViewer::combineSymbolShape(const SymbolShape& shape, DC& border, DC&
...
@@ -242,7 +242,7 @@ void SymbolViewer::combineSymbolShape(const SymbolShape& shape, DC& border, DC&
break
;
break
;
}
case
SYMBOL_COMBINE_DIFFERENCE
:
{
}
case
SYMBOL_COMBINE_DIFFERENCE
:
{
interior
.
SetLogicalFunction
(
wxXOR
);
interior
.
SetLogicalFunction
(
wxXOR
);
drawSymbolShape
(
shape
,
&
border
,
&
interior
,
0
,
~
interiorCol
,
directB
,
true
);
drawSymbolShape
(
shape
,
&
border
,
&
interior
,
0
,
interiorCol
,
directB
,
true
);
interior
.
SetLogicalFunction
(
wxCOPY
);
interior
.
SetLogicalFunction
(
wxCOPY
);
break
;
break
;
}
case
SYMBOL_COMBINE_BORDER
:
{
}
case
SYMBOL_COMBINE_BORDER
:
{
...
...
src/script/functions/image.cpp
View file @
f24b8c40
...
@@ -84,6 +84,15 @@ SCRIPT_FUNCTION(enlarge) {
...
@@ -84,6 +84,15 @@ SCRIPT_FUNCTION(enlarge) {
return
new_intrusive2
<
EnlargeImage
>
(
input
,
border_size
);
return
new_intrusive2
<
EnlargeImage
>
(
input
,
border_size
);
}
}
SCRIPT_FUNCTION
(
crop
)
{
SCRIPT_PARAM
(
GeneratedImageP
,
input
);
SCRIPT_PARAM_N
(
int
,
_
(
"width"
),
width
);
SCRIPT_PARAM_N
(
int
,
_
(
"height"
),
height
);
SCRIPT_PARAM_N
(
double
,
_
(
"offset x"
),
offset_x
);
SCRIPT_PARAM_N
(
double
,
_
(
"offset y"
),
offset_y
);
return
new_intrusive5
<
CropImage
>
(
input
,
width
,
height
,
offset_x
,
offset_y
);
}
SCRIPT_FUNCTION
(
drop_shadow
)
{
SCRIPT_FUNCTION
(
drop_shadow
)
{
SCRIPT_PARAM
(
GeneratedImageP
,
input
);
SCRIPT_PARAM
(
GeneratedImageP
,
input
);
SCRIPT_OPTIONAL_PARAM_N_
(
double
,
_
(
"offset x"
),
offset_x
);
SCRIPT_OPTIONAL_PARAM_N_
(
double
,
_
(
"offset x"
),
offset_x
);
...
@@ -161,6 +170,7 @@ void init_script_image_functions(Context& ctx) {
...
@@ -161,6 +170,7 @@ void init_script_image_functions(Context& ctx) {
ctx
.
setVariable
(
_
(
"set alpha"
),
script_set_alpha
);
ctx
.
setVariable
(
_
(
"set alpha"
),
script_set_alpha
);
ctx
.
setVariable
(
_
(
"set combine"
),
script_set_combine
);
ctx
.
setVariable
(
_
(
"set combine"
),
script_set_combine
);
ctx
.
setVariable
(
_
(
"enlarge"
),
script_enlarge
);
ctx
.
setVariable
(
_
(
"enlarge"
),
script_enlarge
);
ctx
.
setVariable
(
_
(
"crop"
),
script_crop
);
ctx
.
setVariable
(
_
(
"drop shadow"
),
script_drop_shadow
);
ctx
.
setVariable
(
_
(
"drop shadow"
),
script_drop_shadow
);
ctx
.
setVariable
(
_
(
"symbol variation"
),
script_symbol_variation
);
ctx
.
setVariable
(
_
(
"symbol variation"
),
script_symbol_variation
);
ctx
.
setVariable
(
_
(
"built in image"
),
script_built_in_image
);
ctx
.
setVariable
(
_
(
"built in image"
),
script_built_in_image
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment