Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
c5f41a3a
Commit
c5f41a3a
authored
Mar 28, 2010
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eeschema: fixed minor issues.
parent
1fdd229e
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
113 additions
and
46 deletions
+113
-46
class_libentry.cpp
eeschema/class_libentry.cpp
+44
-3
classes_body_items.cpp
eeschema/classes_body_items.cpp
+10
-5
dialog_SVG_print.cpp
eeschema/dialog_SVG_print.cpp
+32
-19
libedit_plot_component.cpp
eeschema/libedit_plot_component.cpp
+18
-7
libeditframe.h
eeschema/libeditframe.h
+7
-0
symbdraw.cpp
eeschema/symbdraw.cpp
+2
-12
No files found.
eeschema/class_libentry.cpp
View file @
c5f41a3a
...
@@ -242,6 +242,49 @@ void LIB_COMPONENT::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDc,
...
@@ -242,6 +242,49 @@ void LIB_COMPONENT::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDc,
GRSetDrawMode
(
aDc
,
aDrawMode
);
GRSetDrawMode
(
aDc
,
aDrawMode
);
/* draw background for filled items using background option
* Solid lines will be drawn after the background
* Note also, background is not drawn when:
* printing in black and white
* If the color is not the default color (aColor != -1 )
*/
if
(
!
(
screen
->
m_IsPrinting
&&
GetGRForceBlackPenState
())
&&
(
aColor
==
-
1
)
)
{
BOOST_FOREACH
(
LIB_DRAW_ITEM
&
drawItem
,
drawings
)
{
if
(
drawItem
.
m_Fill
!=
FILLED_WITH_BG_BODYCOLOR
)
continue
;
if
(
aOnlySelected
&&
drawItem
.
m_Selected
==
0
)
continue
;
// Do not draw an item while moving (the cursor handler does that)
if
(
drawItem
.
m_Flags
&
IS_MOVED
)
continue
;
/* Do not draw items not attached to the current part */
if
(
aMulti
&&
drawItem
.
m_Unit
&&
(
drawItem
.
m_Unit
!=
aMulti
)
)
continue
;
if
(
aConvert
&&
drawItem
.
m_Convert
&&
(
drawItem
.
m_Convert
!=
aConvert
)
)
continue
;
if
(
drawItem
.
Type
()
==
COMPONENT_FIELD_DRAW_TYPE
)
continue
;
if
(
drawItem
.
Type
()
==
COMPONENT_FIELD_DRAW_TYPE
)
{
drawItem
.
Draw
(
aPanel
,
aDc
,
aOffset
,
aColor
,
aDrawMode
,
(
void
*
)
NULL
,
aTransformMatrix
);
}
// Now, draw only the background for items with
// m_Fill == FILLED_WITH_BG_BODYCOLOR:
drawItem
.
Draw
(
aPanel
,
aDc
,
aOffset
,
aColor
,
aDrawMode
,
(
void
*
)
false
,
aTransformMatrix
);
}
}
BOOST_FOREACH
(
LIB_DRAW_ITEM
&
drawItem
,
drawings
)
BOOST_FOREACH
(
LIB_DRAW_ITEM
&
drawItem
,
drawings
)
{
{
if
(
aOnlySelected
&&
drawItem
.
m_Selected
==
0
)
if
(
aOnlySelected
&&
drawItem
.
m_Selected
==
0
)
...
@@ -273,9 +316,7 @@ void LIB_COMPONENT::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDc,
...
@@ -273,9 +316,7 @@ void LIB_COMPONENT::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDc,
}
}
else
else
{
{
bool
forceNoFill
=
(
screen
->
m_IsPrinting
bool
forceNoFill
=
drawItem
.
m_Fill
==
FILLED_WITH_BG_BODYCOLOR
;
&&
drawItem
.
m_Fill
==
FILLED_WITH_BG_BODYCOLOR
&&
GetGRForceBlackPenState
()
);
drawItem
.
Draw
(
aPanel
,
aDc
,
aOffset
,
aColor
,
aDrawMode
,
drawItem
.
Draw
(
aPanel
,
aDc
,
aOffset
,
aColor
,
aDrawMode
,
(
void
*
)
forceNoFill
,
aTransformMatrix
);
(
void
*
)
forceNoFill
,
aTransformMatrix
);
}
}
...
...
eeschema/classes_body_items.cpp
View file @
c5f41a3a
...
@@ -433,7 +433,8 @@ void LIB_ARC::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
...
@@ -433,7 +433,8 @@ void LIB_ARC::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
GRFilledArc
(
&
aPanel
->
m_ClipBox
,
aDC
,
posc
.
x
,
posc
.
y
,
pt1
,
pt2
,
GRFilledArc
(
&
aPanel
->
m_ClipBox
,
aDC
,
posc
.
x
,
posc
.
y
,
pt1
,
pt2
,
m_Radius
,
GetPenSize
(
),
color
,
m_Radius
,
GetPenSize
(
),
(
m_Flags
&
IS_MOVED
)
?
color
:
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
),
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
else
if
(
fill
==
FILLED_SHAPE
&&
!
aData
)
else
if
(
fill
==
FILLED_SHAPE
&&
!
aData
)
GRFilledArc
(
&
aPanel
->
m_ClipBox
,
aDC
,
posc
.
x
,
posc
.
y
,
pt1
,
pt2
,
GRFilledArc
(
&
aPanel
->
m_ClipBox
,
aDC
,
posc
.
x
,
posc
.
y
,
pt1
,
pt2
,
...
@@ -751,7 +752,8 @@ void LIB_CIRCLE::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
...
@@ -751,7 +752,8 @@ void LIB_CIRCLE::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
GRFilledCircle
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
GRFilledCircle
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
m_Radius
,
GetPenSize
(
),
color
,
m_Radius
,
GetPenSize
(
),
(
m_Flags
&
IS_MOVED
)
?
color
:
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
),
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
else
if
(
fill
==
FILLED_SHAPE
)
else
if
(
fill
==
FILLED_SHAPE
)
GRFilledCircle
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
GRFilledCircle
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
...
@@ -991,7 +993,8 @@ void LIB_RECTANGLE::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
...
@@ -991,7 +993,8 @@ void LIB_RECTANGLE::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
&&
!
aData
)
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
&&
!
aData
)
GRFilledRect
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
pos2
.
x
,
pos2
.
y
,
GRFilledRect
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
pos2
.
x
,
pos2
.
y
,
GetPenSize
(
),
color
,
GetPenSize
(
),
(
m_Flags
&
IS_MOVED
)
?
color
:
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
),
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
else
if
(
m_Fill
==
FILLED_SHAPE
&&
!
aData
)
else
if
(
m_Fill
==
FILLED_SHAPE
&&
!
aData
)
GRFilledRect
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
pos2
.
x
,
pos2
.
y
,
GRFilledRect
(
&
aPanel
->
m_ClipBox
,
aDC
,
pos1
.
x
,
pos1
.
y
,
pos2
.
x
,
pos2
.
y
,
...
@@ -1591,7 +1594,8 @@ void LIB_POLYLINE::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
...
@@ -1591,7 +1594,8 @@ void LIB_POLYLINE::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
Buf_Poly_Drawings
,
1
,
GetPenSize
(
),
color
,
Buf_Poly_Drawings
,
1
,
GetPenSize
(
),
(
m_Flags
&
IS_MOVED
)
?
color
:
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
),
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
else
if
(
fill
==
FILLED_SHAPE
)
else
if
(
fill
==
FILLED_SHAPE
)
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
...
@@ -1959,7 +1963,8 @@ void LIB_BEZIER::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
...
@@ -1959,7 +1963,8 @@ void LIB_BEZIER::Draw( WinEDA_DrawPanel* aPanel, wxDC* aDC,
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
if
(
fill
==
FILLED_WITH_BG_BODYCOLOR
)
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
&
PolyPointsTraslated
[
0
],
1
,
GetPenSize
(),
color
,
&
PolyPointsTraslated
[
0
],
1
,
GetPenSize
(),
(
m_Flags
&
IS_MOVED
)
?
color
:
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
),
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
ReturnLayerColor
(
LAYER_DEVICE_BACKGROUND
)
);
else
if
(
fill
==
FILLED_SHAPE
)
else
if
(
fill
==
FILLED_SHAPE
)
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
GRPoly
(
&
aPanel
->
m_ClipBox
,
aDC
,
m_PolyPoints
.
size
(),
...
...
eeschema/dialog_SVG_print.cpp
View file @
c5f41a3a
...
@@ -14,11 +14,11 @@
...
@@ -14,11 +14,11 @@
#include "gestfich.h"
#include "gestfich.h"
#include "dialog_SVG_print_base.h"
#include "dialog_SVG_print_base.h"
#include "dcsvg.h"
#include "dcsvg.h"
#include "program.h"
#include "program.h"
#include "general.h"
#include "general.h"
#include "libeditframe.h"
// Keys for configuration
// Keys for configuration
#define PLOTSVGMODECOLOR_KEY wxT( "PlotSVGModeColor" )
#define PLOTSVGMODECOLOR_KEY wxT( "PlotSVGModeColor" )
...
@@ -35,7 +35,6 @@ class DIALOG_SVG_PRINT : public DIALOG_SVG_PRINT_base
...
@@ -35,7 +35,6 @@ class DIALOG_SVG_PRINT : public DIALOG_SVG_PRINT_base
{
{
private
:
private
:
WinEDA_DrawFrame
*
m_Parent
;
WinEDA_DrawFrame
*
m_Parent
;
int
m_ImageXSize_mm
;
wxConfig
*
m_Config
;
wxConfig
*
m_Config
;
public
:
public
:
...
@@ -51,8 +50,11 @@ private:
...
@@ -51,8 +50,11 @@ private:
void
OnSetColorModeSelected
(
wxCommandEvent
&
event
);
void
OnSetColorModeSelected
(
wxCommandEvent
&
event
);
void
SetPenWidth
();
void
SetPenWidth
();
void
PrintSVGDoc
(
bool
aPrintAll
,
bool
aPrint_Sheet_Ref
);
void
PrintSVGDoc
(
bool
aPrintAll
,
bool
aPrint_Sheet_Ref
);
bool
DrawPage
(
const
wxString
&
FullFileName
,
BASE_SCREEN
*
screen
,
public
:
bool
aPrint_Sheet_Ref
);
static
bool
DrawSVGPage
(
WinEDA_DrawFrame
*
frame
,
const
wxString
&
FullFileName
,
BASE_SCREEN
*
screen
,
bool
aPrintBlackAndWhite
=
false
,
bool
aPrint_Sheet_Ref
=
false
);
};
};
...
@@ -66,6 +68,15 @@ void WinEDA_DrawFrame::SVG_Print( wxCommandEvent& event )
...
@@ -66,6 +68,15 @@ void WinEDA_DrawFrame::SVG_Print( wxCommandEvent& event )
frame
.
ShowModal
();
frame
.
ShowModal
();
}
}
/* Creates the SVG print file for the current edited component.
*/
void
WinEDA_LibeditFrame
::
SVG_Print_Component
(
const
wxString
&
FullFileName
)
{
DIALOG_SVG_PRINT
::
DrawSVGPage
(
this
,
FullFileName
,
GetScreen
()
);
}
/*!
/*!
* DIALOG_SVG_PRINT functions
* DIALOG_SVG_PRINT functions
...
@@ -82,7 +93,6 @@ void DIALOG_SVG_PRINT::OnInitDialog( wxInitDialogEvent& event )
...
@@ -82,7 +93,6 @@ void DIALOG_SVG_PRINT::OnInitDialog( wxInitDialogEvent& event )
{
{
SetFocus
();
// Make ESC key working
SetFocus
();
// Make ESC key working
m_ImageXSize_mm
=
270
;
if
(
m_Config
)
if
(
m_Config
)
{
{
m_Config
->
Read
(
PLOTSVGMODECOLOR_KEY
,
&
s_PlotBlackAndWhite
);
m_Config
->
Read
(
PLOTSVGMODECOLOR_KEY
,
&
s_PlotBlackAndWhite
);
...
@@ -130,6 +140,9 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
...
@@ -130,6 +140,9 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
SetPenWidth
();
SetPenWidth
();
g_DrawDefaultLineThickness
=
ReturnValueFromTextCtrl
(
*
m_DialogPenWidth
,
m_Parent
->
m_InternalUnits
);
BASE_SCREEN
*
screen
=
m_Parent
->
GetBaseScreen
();
BASE_SCREEN
*
screen
=
m_Parent
->
GetBaseScreen
();
BASE_SCREEN
*
oldscreen
=
screen
;
BASE_SCREEN
*
oldscreen
=
screen
;
...
@@ -162,7 +175,8 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
...
@@ -162,7 +175,8 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
fn
=
schframe
->
GetUniqueFilenameForCurrentSheet
(
)
+
wxT
(
".svg"
);
fn
=
schframe
->
GetUniqueFilenameForCurrentSheet
(
)
+
wxT
(
".svg"
);
bool
success
=
DrawPage
(
fn
.
GetFullPath
(),
schscreen
,
bool
success
=
DrawSVGPage
(
m_Parent
,
fn
.
GetFullPath
(),
schscreen
,
m_ModeColorOption
->
GetSelection
()
==
0
?
false
:
true
,
aPrint_Sheet_Ref
);
aPrint_Sheet_Ref
);
msg
=
_
(
"Create file "
)
+
fn
.
GetFullPath
();
msg
=
_
(
"Create file "
)
+
fn
.
GetFullPath
();
if
(
!
success
)
if
(
!
success
)
...
@@ -182,8 +196,11 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
...
@@ -182,8 +196,11 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
fn
=
screen
->
m_FileName
;
fn
=
screen
->
m_FileName
;
fn
.
SetExt
(
wxT
(
"svg"
)
);
fn
.
SetExt
(
wxT
(
"svg"
)
);
fn
.
MakeAbsolute
(
);
bool
success
=
DrawPage
(
fn
.
GetFullPath
(),
screen
,
aPrint_Sheet_Ref
);
bool
success
=
DrawSVGPage
(
m_Parent
,
fn
.
GetFullPath
(),
screen
,
m_ModeColorOption
->
GetSelection
()
==
0
?
false
:
true
,
aPrint_Sheet_Ref
);
msg
=
_
(
"Create file "
)
+
fn
.
GetFullPath
();
msg
=
_
(
"Create file "
)
+
fn
.
GetFullPath
();
if
(
!
success
)
if
(
!
success
)
...
@@ -196,16 +213,16 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
...
@@ -196,16 +213,16 @@ void DIALOG_SVG_PRINT::PrintSVGDoc( bool aPrintAll, bool aPrint_Sheet_Ref )
ActiveScreen
=
oldscreen
;
ActiveScreen
=
oldscreen
;
}
}
bool
DIALOG_SVG_PRINT
::
DrawSVGPage
(
WinEDA_DrawFrame
*
frame
,
bool
DIALOG_SVG_PRINT
::
DrawPage
(
const
wxString
&
FullFileName
,
const
wxString
&
FullFileName
,
BASE_SCREEN
*
screen
,
BASE_SCREEN
*
screen
,
bool
aPrintBlackAndWhite
,
bool
aPrint_Sheet_Ref
)
bool
aPrint_Sheet_Ref
)
{
{
int
tmpzoom
;
int
tmpzoom
;
wxPoint
tmp_startvisu
;
wxPoint
tmp_startvisu
;
wxSize
SheetSize
;
// Sheet size in internal units
wxSize
SheetSize
;
// Sheet size in internal units
wxPoint
old_org
;
wxPoint
old_org
;
double
dpi
;
bool
success
=
true
;
bool
success
=
true
;
tmp_startvisu
=
screen
->
m_StartVisu
;
tmp_startvisu
=
screen
->
m_StartVisu
;
...
@@ -216,17 +233,13 @@ bool DIALOG_SVG_PRINT::DrawPage( const wxString& FullFileName,
...
@@ -216,17 +233,13 @@ bool DIALOG_SVG_PRINT::DrawPage( const wxString& FullFileName,
SheetSize
=
screen
->
ReturnPageSize
(
);
SheetSize
=
screen
->
ReturnPageSize
(
);
screen
->
SetScalingFactor
(
1.0
);
screen
->
SetScalingFactor
(
1.0
);
dpi
=
(
double
)
SheetSize
.
x
*
25.4
/
m_ImageXSize_mm
;
WinEDA_DrawPanel
*
panel
=
frame
->
DrawPanel
;
WinEDA_DrawPanel
*
panel
=
m_Parent
->
DrawPanel
;
wxSVGFileDC
dc
(
FullFileName
,
SheetSize
.
x
,
SheetSize
.
y
);
wxSVGFileDC
dc
(
FullFileName
,
SheetSize
.
x
,
SheetSize
.
y
,
dpi
);
EDA_Rect
tmp
=
panel
->
m_ClipBox
;
EDA_Rect
tmp
=
panel
->
m_ClipBox
;
GRResetPenAndBrush
(
&
dc
);
GRResetPenAndBrush
(
&
dc
);
g_DrawDefaultLineThickness
=
GRForceBlackPen
(
aPrintBlackAndWhite
);
ReturnValueFromTextCtrl
(
*
m_DialogPenWidth
,
m_Parent
->
m_InternalUnits
);
GRForceBlackPen
(
m_ModeColorOption
->
GetSelection
()
==
0
?
false
:
true
);
panel
->
m_ClipBox
.
SetX
(
-
0x3FFFFF0
);
panel
->
m_ClipBox
.
SetX
(
-
0x3FFFFF0
);
...
@@ -237,13 +250,13 @@ bool DIALOG_SVG_PRINT::DrawPage( const wxString& FullFileName,
...
@@ -237,13 +250,13 @@ bool DIALOG_SVG_PRINT::DrawPage( const wxString& FullFileName,
screen
->
m_IsPrinting
=
true
;
screen
->
m_IsPrinting
=
true
;
SetLocaleTo_C_standard
(
);
// Switch the locale to standard C (needed
SetLocaleTo_C_standard
(
);
// Switch the locale to standard C (needed
// to print floating point numbers like 1.3)
// to print floating point numbers like 1.3)
m_Parent
->
PrintPage
(
&
dc
,
aPrint_Sheet_Ref
,
1
,
false
);
frame
->
PrintPage
(
&
dc
,
aPrint_Sheet_Ref
,
1
,
false
);
SetLocaleTo_Default
(
);
// revert to the current locale
SetLocaleTo_Default
(
);
// revert to the current locale
screen
->
m_IsPrinting
=
false
;
screen
->
m_IsPrinting
=
false
;
panel
->
m_ClipBox
=
tmp
;
panel
->
m_ClipBox
=
tmp
;
GRForceBlackPen
(
FALSE
);
GRForceBlackPen
(
false
);
screen
->
m_StartVisu
=
tmp_startvisu
;
screen
->
m_StartVisu
=
tmp_startvisu
;
screen
->
m_DrawOrg
=
old_org
;
screen
->
m_DrawOrg
=
old_org
;
...
...
eeschema/libedit_plot_component.cpp
View file @
c5f41a3a
...
@@ -25,6 +25,9 @@
...
@@ -25,6 +25,9 @@
void
WinEDA_LibeditFrame
::
OnPlotCurrentComponent
(
wxCommandEvent
&
event
)
void
WinEDA_LibeditFrame
::
OnPlotCurrentComponent
(
wxCommandEvent
&
event
)
{
{
LIB_COMPONENT
*
cmp
=
GetComponent
();
LIB_COMPONENT
*
cmp
=
GetComponent
();
wxString
FullFileName
;
wxString
file_ext
;
wxString
mask
;
if
(
cmp
==
NULL
)
if
(
cmp
==
NULL
)
{
{
...
@@ -38,13 +41,12 @@ void WinEDA_LibeditFrame::OnPlotCurrentComponent( wxCommandEvent& event )
...
@@ -38,13 +41,12 @@ void WinEDA_LibeditFrame::OnPlotCurrentComponent( wxCommandEvent& event )
{
{
bool
fmt_is_jpeg
=
false
;
// could be selectable later. so keep this option.
bool
fmt_is_jpeg
=
false
;
// could be selectable later. so keep this option.
wxString
file_ext
=
fmt_is_jpeg
?
wxT
(
"jpg"
)
:
wxT
(
"png"
);
file_ext
=
fmt_is_jpeg
?
wxT
(
"jpg"
)
:
wxT
(
"png"
);
wxString
mask
=
wxT
(
"*."
)
+
file_ext
;
mask
=
wxT
(
"*."
)
+
file_ext
;
wxFileName
fn
(
cmp
->
GetName
()
);
wxFileName
fn
(
cmp
->
GetName
()
);
fn
.
SetExt
(
file_ext
);
fn
.
SetExt
(
file_ext
);
wxString
FullFileName
=
FullFileName
=
EDA_FileSelector
(
_
(
"Filename:"
),
wxGetCwd
(),
EDA_FileSelector
(
_
(
"Filename:"
),
wxGetCwd
(),
fn
.
GetFullName
(),
file_ext
,
mask
,
this
,
fn
.
GetFullName
(),
file_ext
,
mask
,
this
,
wxFD_SAVE
,
TRUE
);
wxFD_SAVE
,
TRUE
);
...
@@ -57,7 +59,17 @@ void WinEDA_LibeditFrame::OnPlotCurrentComponent( wxCommandEvent& event )
...
@@ -57,7 +59,17 @@ void WinEDA_LibeditFrame::OnPlotCurrentComponent( wxCommandEvent& event )
case
ID_LIBEDIT_GEN_SVG_FILE
:
case
ID_LIBEDIT_GEN_SVG_FILE
:
{
{
GetScreen
()
->
m_FileName
=
cmp
->
GetName
();
file_ext
=
wxT
(
"svg"
);
mask
=
wxT
(
"*."
)
+
file_ext
;
wxFileName
fn
(
cmp
->
GetName
()
);
fn
.
SetExt
(
file_ext
);
FullFileName
=
EDA_FileSelector
(
_
(
"Filename:"
),
wxGetCwd
(),
fn
.
GetFullName
(),
file_ext
,
mask
,
this
,
wxFD_SAVE
,
TRUE
);
if
(
FullFileName
.
IsEmpty
()
)
return
;
/* Give a size to the SVG draw area = component size + margin
/* Give a size to the SVG draw area = component size + margin
* the margin is 10% the size of the component size
* the margin is 10% the size of the component size
*/
*/
...
@@ -67,9 +79,8 @@ void WinEDA_LibeditFrame::OnPlotCurrentComponent( wxCommandEvent& event )
...
@@ -67,9 +79,8 @@ void WinEDA_LibeditFrame::OnPlotCurrentComponent( wxCommandEvent& event )
// Add a small margin to the plot bounding box
// Add a small margin to the plot bounding box
componentSize
.
x
=
(
int
)(
componentSize
.
x
*
1.2
);
componentSize
.
x
=
(
int
)(
componentSize
.
x
*
1.2
);
componentSize
.
y
=
(
int
)(
componentSize
.
y
*
1.2
);
componentSize
.
y
=
(
int
)(
componentSize
.
y
*
1.2
);
GetScreen
()
->
SetPageSize
(
componentSize
);
GetScreen
()
->
SetPageSize
(
componentSize
);
WinEDA_DrawFrame
::
SVG_Print
(
event
);
SVG_Print_Component
(
FullFileName
);
GetScreen
()
->
SetPageSize
(
pagesize
);
GetScreen
()
->
SetPageSize
(
pagesize
);
}
}
break
;
break
;
...
...
eeschema/libeditframe.h
View file @
c5f41a3a
...
@@ -296,6 +296,13 @@ protected:
...
@@ -296,6 +296,13 @@ protected:
int
aPrintMask
,
bool
aPrintMirrorMode
,
int
aPrintMask
,
bool
aPrintMirrorMode
,
void
*
aData
=
NULL
);
void
*
aData
=
NULL
);
/** function SVG_Print_component
* Creates the SVG print file for the current edited component.
* @param aFullFileName = the full filename of the file
*/
void
SVG_Print_Component
(
const
wxString
&
aFullFileName
);
DECLARE_EVENT_TABLE
()
DECLARE_EVENT_TABLE
()
};
};
...
...
eeschema/symbdraw.cpp
View file @
c5f41a3a
...
@@ -147,15 +147,6 @@ static void AbortSymbolTraceOn( WinEDA_DrawPanel* Panel, wxDC* DC )
...
@@ -147,15 +147,6 @@ static void AbortSymbolTraceOn( WinEDA_DrawPanel* Panel, wxDC* DC )
if
(
item
->
m_Flags
&
IS_NEW
)
if
(
item
->
m_Flags
&
IS_NEW
)
{
{
if
(
DC
)
{
if
(
item
->
Type
()
==
COMPONENT_ARC_DRAW_TYPE
)
Panel
->
GetParent
()
->
DrawPanel
->
Refresh
();
else
item
->
Draw
(
Panel
,
DC
,
wxPoint
(
0
,
0
),
-
1
,
g_XorMode
,
NULL
,
DefaultTransformMatrix
);
}
SAFE_DELETE
(
item
);
SAFE_DELETE
(
item
);
parent
->
SetDrawItem
(
NULL
);
parent
->
SetDrawItem
(
NULL
);
}
}
...
@@ -207,11 +198,10 @@ static void AbortSymbolTraceOn( WinEDA_DrawPanel* Panel, wxDC* DC )
...
@@ -207,11 +198,10 @@ static void AbortSymbolTraceOn( WinEDA_DrawPanel* Panel, wxDC* DC )
RedrawWhileMovingCursor
(
Panel
,
DC
,
TRUE
);
RedrawWhileMovingCursor
(
Panel
,
DC
,
TRUE
);
Panel
->
GetScreen
()
->
m_Curseur
=
curpos
;
Panel
->
GetScreen
()
->
m_Curseur
=
curpos
;
}
}
item
->
Draw
(
Panel
,
DC
,
wxPoint
(
0
,
0
),
-
1
,
GR_DEFAULT_DRAWMODE
,
NULL
,
DefaultTransformMatrix
);
item
->
m_Flags
=
0
;
item
->
m_Flags
=
0
;
}
}
Panel
->
Refresh
(
);
}
}
...
...
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