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
f00696e8
Commit
f00696e8
authored
Jul 05, 2011
by
jean-pierre charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pcbnew: fix bug 804780.
All: use double instead of int to store zoom values.
parent
bcfac4b4
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
77 additions
and
97 deletions
+77
-97
3d_frame.cpp
3d-viewer/3d_frame.cpp
+2
-2
3d_viewer.h
3d-viewer/3d_viewer.h
+1
-1
base_screen.cpp
common/base_screen.cpp
+8
-12
build_version.cpp
common/build_version.cpp
+1
-1
drawframe.cpp
common/drawframe.cpp
+2
-5
zoom.cpp
common/zoom.cpp
+1
-6
libeditframe.cpp
eeschema/libeditframe.cpp
+4
-6
libeditframe.h
eeschema/libeditframe.h
+1
-1
sch_screen.cpp
eeschema/sch_screen.cpp
+4
-3
schframe.cpp
eeschema/schframe.cpp
+6
-8
viewlib_frame.cpp
eeschema/viewlib_frame.cpp
+5
-7
viewlib_frame.h
eeschema/viewlib_frame.h
+1
-1
gerbview_frame.cpp
gerbview/gerbview_frame.cpp
+5
-6
gerbview_frame.h
gerbview/gerbview_frame.h
+1
-1
class_base_screen.h
include/class_base_screen.h
+5
-6
wxBasePcbFrame.h
include/wxBasePcbFrame.h
+1
-1
wxEeschemaStruct.h
include/wxEeschemaStruct.h
+1
-1
wxstruct.h
include/wxstruct.h
+2
-2
install.nsi
packaging/windows/nsis/install.nsi
+1
-1
basepcbframe.cpp
pcbnew/basepcbframe.cpp
+13
-19
classpcb.cpp
pcbnew/classpcb.cpp
+5
-4
librairi.cpp
pcbnew/librairi.cpp
+3
-0
modedit.cpp
pcbnew/modedit.cpp
+2
-0
moduleframe.cpp
pcbnew/moduleframe.cpp
+0
-1
version.txt
version.txt
+2
-2
No files found.
3d-viewer/3d_frame.cpp
View file @
f00696e8
...
...
@@ -222,9 +222,9 @@ void WinEDA3D_DrawFrame::OnRightClick( const wxPoint& MousePos,
}
int
WinEDA3D_DrawFrame
::
BestZoom
()
double
WinEDA3D_DrawFrame
::
BestZoom
()
{
return
1
;
return
1
.0
;
}
...
...
3d-viewer/3d_viewer.h
View file @
f00696e8
...
...
@@ -246,7 +246,7 @@ public:
void
OnLeftClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
void
OnRightClick
(
const
wxPoint
&
MousePos
,
wxMenu
*
PopMenu
);
void
OnKeyEvent
(
wxKeyEvent
&
event
);
int
BestZoom
();
double
BestZoom
();
void
RedrawActiveWindow
(
wxDC
*
DC
,
bool
EraseBg
);
void
Process_Special_Functions
(
wxCommandEvent
&
event
);
void
Process_Zoom
(
wxCommandEvent
&
event
);
...
...
common/base_screen.cpp
View file @
f00696e8
...
...
@@ -24,8 +24,7 @@ BASE_SCREEN::BASE_SCREEN( KICAD_T aType ) : EDA_ITEM( aType )
m_FirstRedraw
=
TRUE
;
m_ScreenNumber
=
1
;
m_NumberOfScreen
=
1
;
/* Hierarchy: Root: ScreenNumber = 1 */
m_ZoomScalar
=
10
;
m_Zoom
=
32
*
m_ZoomScalar
;
m_Zoom
=
32.0
;
m_Grid
.
m_Size
=
wxRealPoint
(
50
,
50
);
/* Default grid size */
m_Grid
.
m_Id
=
ID_POPUP_GRID_LEVEL_50
;
m_Center
=
true
;
...
...
@@ -106,7 +105,7 @@ void BASE_SCREEN::SetPageSize( wxSize& aPageSize )
*/
double
BASE_SCREEN
::
GetScalingFactor
()
const
{
double
scale
=
(
double
)
m_ZoomScalar
/
(
double
)
GetZoom
();
double
scale
=
1.0
/
GetZoom
();
return
scale
;
}
...
...
@@ -118,7 +117,7 @@ double BASE_SCREEN::GetScalingFactor() const
*/
void
BASE_SCREEN
::
SetScalingFactor
(
double
aScale
)
{
int
zoom
=
static_cast
<
int
>
(
ceil
(
aScale
*
m_ZoomScalar
)
)
;
double
zoom
=
aScale
;
// Limit zoom to max and min allowed values:
if
(
zoom
<
m_ZoomList
[
0
])
...
...
@@ -132,7 +131,7 @@ void BASE_SCREEN::SetScalingFactor(double aScale )
SetZoom
(
zoom
);
}
void
BASE_SCREEN
::
SetZoomList
(
const
wxArray
Int
&
zoomlist
)
void
BASE_SCREEN
::
SetZoomList
(
const
wxArray
Double
&
zoomlist
)
{
if
(
!
m_ZoomList
.
IsEmpty
()
)
m_ZoomList
.
Empty
();
...
...
@@ -145,9 +144,9 @@ bool BASE_SCREEN::SetFirstZoom()
{
if
(
m_ZoomList
.
IsEmpty
()
)
{
if
(
m_Zoom
!=
m_ZoomScalar
)
if
(
m_Zoom
!=
1.0
)
{
m_Zoom
=
m_ZoomScalar
;
m_Zoom
=
1.0
;
return
true
;
}
}
...
...
@@ -161,22 +160,19 @@ bool BASE_SCREEN::SetFirstZoom()
}
int
BASE_SCREEN
::
GetZoom
()
const
double
BASE_SCREEN
::
GetZoom
()
const
{
return
m_Zoom
;
}
bool
BASE_SCREEN
::
SetZoom
(
int
coeff
)
bool
BASE_SCREEN
::
SetZoom
(
double
coeff
)
{
if
(
coeff
==
m_Zoom
)
return
false
;
m_Zoom
=
coeff
;
if
(
m_Zoom
<
1
)
m_Zoom
=
1
;
return
true
;
}
...
...
common/build_version.cpp
View file @
f00696e8
...
...
@@ -6,7 +6,7 @@
#endif
#ifndef KICAD_BUILD_VERSION
#define KICAD_BUILD_VERSION "(2011-07-0
3
)"
#define KICAD_BUILD_VERSION "(2011-07-0
4
)"
#endif
...
...
common/drawframe.cpp
View file @
f00696e8
...
...
@@ -384,7 +384,7 @@ void EDA_DRAW_FRAME::OnSelectZoom( wxCommandEvent& event )
/* Return the current zoom level */
int
EDA_DRAW_FRAME
::
GetZoom
(
void
)
double
EDA_DRAW_FRAME
::
GetZoom
(
void
)
{
return
GetScreen
()
->
GetZoom
();
}
...
...
@@ -658,10 +658,7 @@ void EDA_DRAW_FRAME::UpdateStatusBar()
return
;
/* Display Zoom level: zoom = zoom_coeff/ZoomScalar */
if
(
(
screen
->
GetZoom
()
%
screen
->
m_ZoomScalar
)
==
0
)
Line
.
Printf
(
wxT
(
"Z %d"
),
screen
->
GetZoom
()
/
screen
->
m_ZoomScalar
);
else
Line
.
Printf
(
wxT
(
"Z %.1f"
),
(
float
)
screen
->
GetZoom
()
/
screen
->
m_ZoomScalar
);
Line
.
Printf
(
wxT
(
"Z %g"
),
screen
->
GetZoom
()
);
SetStatusText
(
Line
,
1
);
...
...
common/zoom.cpp
View file @
f00696e8
...
...
@@ -177,12 +177,7 @@ void EDA_DRAW_FRAME::AddMenuZoomAndGrid( wxMenu* MasterMenu )
/* Populate zoom submenu. */
for
(
int
i
=
0
;
i
<
maxZoomIds
;
i
++
)
{
if
(
(
screen
->
m_ZoomList
[
i
]
%
screen
->
m_ZoomScalar
)
==
0
)
msg
.
Printf
(
wxT
(
"%u"
),
screen
->
m_ZoomList
[
i
]
/
screen
->
m_ZoomScalar
);
else
msg
.
Printf
(
wxT
(
"%.1f"
),
(
float
)
screen
->
m_ZoomList
[
i
]
/
screen
->
m_ZoomScalar
);
msg
.
Printf
(
wxT
(
"%g"
),
screen
->
m_ZoomList
[
i
]
);
zoom_choice
->
Append
(
ID_POPUP_ZOOM_LEVEL_START
+
i
,
_
(
"Zoom: "
)
+
msg
,
wxEmptyString
,
wxITEM_CHECK
);
...
...
eeschema/libeditframe.cpp
View file @
f00696e8
...
...
@@ -346,7 +346,7 @@ void LIB_EDIT_FRAME::OnCloseWindow( wxCloseEvent& Event )
}
int
LIB_EDIT_FRAME
::
BestZoom
()
double
LIB_EDIT_FRAME
::
BestZoom
()
{
/* Please, note: wxMSW before version 2.9 seems have
* problems with zoom values < 1 ( i.e. userscale > 1) and needs to be patched:
...
...
@@ -377,12 +377,10 @@ int LIB_EDIT_FRAME::BestZoom()
// Reserve a 10% margin around component bounding box.
double
margin_scale_factor
=
0.8
;
double
zx
=
(
double
)
dx
/
(
margin_scale_factor
*
(
double
)
size
.
x
)
*
(
double
)
GetScreen
()
->
m_ZoomScalar
;
double
zy
=
(
double
)
dy
/
(
margin_scale_factor
*
(
double
)
size
.
y
)
*
(
double
)
GetScreen
()
->
m_ZoomScalar
;
double
zx
=
(
double
)
dx
/
(
margin_scale_factor
*
(
double
)
size
.
x
);
double
zy
=
(
double
)
dy
/
(
margin_scale_factor
*
(
double
)
size
.
y
);
int
bestzoom
=
wxRound
(
MAX
(
zx
,
zy
)
);
double
bestzoom
=
MAX
(
zx
,
zy
);
// keep it >= minimal existing zoom (can happen for very small components
// for instance when starting a new component
...
...
eeschema/libeditframe.h
View file @
f00696e8
...
...
@@ -103,7 +103,7 @@ public:
void
CreateOptionToolbar
();
void
OnLeftClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
bool
OnRightClick
(
const
wxPoint
&
MousePos
,
wxMenu
*
PopMenu
);
int
BestZoom
();
// Returns the best zoom
double
BestZoom
();
// Returns the best zoom
void
OnLeftDClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
SCH_SCREEN
*
GetScreen
()
{
return
(
SCH_SCREEN
*
)
EDA_DRAW_FRAME
::
GetScreen
();
}
...
...
eeschema/sch_screen.cpp
View file @
f00696e8
...
...
@@ -39,12 +39,13 @@
* see http://trac.wxwidgets.org/ticket/9554
* This is a workaround that is not a full fix, but remaining artifacts are acceptable
*/
static
int
SchematicZoomList
[]
=
static
double
SchematicZoomList
[]
=
{
5
,
7
,
10
,
15
,
20
,
30
,
40
,
60
,
80
,
120
,
160
,
230
,
320
,
480
,
640
,
800
,
1280
0.5
,
0.7
,
1.0
,
1.5
,
2.0
,
3.0
,
4.0
,
6.0
,
8.0
,
12.0
,
16.0
,
23.0
,
32.0
,
48.0
,
64.0
,
80.0
,
128.0
};
#define SCHEMATIC_ZOOM_LIST_CNT ( sizeof( SchematicZoomList ) / sizeof(
int
) )
#define SCHEMATIC_ZOOM_LIST_CNT ( sizeof( SchematicZoomList ) / sizeof(
SchematicZoomList[0]
) )
#define MM_TO_SCH_UNITS 1000.0 / 25.4 //schematic internal unites are mils
...
...
eeschema/schframe.cpp
View file @
f00696e8
...
...
@@ -246,7 +246,7 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( wxWindow* father,
m_auimgr
.
Update
();
// Now Drawpanel is sized, we can use BestZoom to show the component (if any)
BestZoom
(
);
GetScreen
()
->
SetZoom
(
BestZoom
()
);
}
...
...
@@ -345,7 +345,7 @@ void SCH_EDIT_FRAME::CreateScreens()
if
(
GetScreen
()
==
NULL
)
SetScreen
(
new
SCH_SCREEN
()
);
GetScreen
()
->
SetZoom
(
4
*
GetScreen
()
->
m_ZoomScalar
);
GetScreen
()
->
SetZoom
(
32.0
);
GetScreen
()
->
m_UndoRedoCountMax
=
10
;
}
...
...
@@ -432,7 +432,7 @@ void SCH_EDIT_FRAME::OnCloseWindow( wxCloseEvent& Event )
}
int
SCH_EDIT_FRAME
::
BestZoom
()
double
SCH_EDIT_FRAME
::
BestZoom
()
{
int
dx
,
dy
;
wxSize
size
;
...
...
@@ -445,12 +445,10 @@ int SCH_EDIT_FRAME::BestZoom()
// Reserve no margin because best zoom shows the full page
// and margins are already included in function that draws the sheet refernces
double
margin_scale_factor
=
1.0
;
double
zx
=
(
double
)
dx
/
(
margin_scale_factor
*
(
double
)
size
.
x
)
*
(
double
)
GetScreen
()
->
m_ZoomScalar
;
double
zy
=
(
double
)
dy
/
(
margin_scale_factor
*
(
double
)
size
.
y
)
*
(
double
)
GetScreen
()
->
m_ZoomScalar
;
double
zx
=
(
double
)
dx
/
(
margin_scale_factor
*
(
double
)
size
.
x
);
double
zy
=
(
double
)
dy
/
(
margin_scale_factor
*
(
double
)
size
.
y
);
int
bestzoom
=
wxRound
(
MAX
(
zx
,
zy
)
);
double
bestzoom
=
MAX
(
zx
,
zy
);
GetScreen
()
->
SetScrollCenterPosition
(
wxPoint
(
dx
/
2
,
dy
/
2
)
);
...
...
eeschema/viewlib_frame.cpp
View file @
f00696e8
...
...
@@ -309,7 +309,7 @@ void LIB_VIEW_FRAME::OnSetRelativeOffset( wxCommandEvent& event )
}
int
LIB_VIEW_FRAME
::
BestZoom
()
double
LIB_VIEW_FRAME
::
BestZoom
()
{
/* Please, note: wxMSW before version 2.9 seems have
* problems with zoom values < 1 ( i.e. userscale > 1) and needs to be patched:
...
...
@@ -319,7 +319,7 @@ int LIB_VIEW_FRAME::BestZoom()
*/
LIB_COMPONENT
*
component
=
NULL
;
CMP_LIBRARY
*
lib
;
int
bestzoom
=
16
;
// default value for bestzoom
double
bestzoom
=
16.0
;
// default value for bestzoom
lib
=
CMP_LIBRARY
::
FindLibrary
(
m_libraryName
);
...
...
@@ -339,14 +339,12 @@ int LIB_VIEW_FRAME::BestZoom()
// Reserve a 10% margin around component bounding box.
double
margin_scale_factor
=
0.8
;
double
zx
=
(
double
)
BoundaryBox
.
GetWidth
()
/
(
margin_scale_factor
*
(
double
)
size
.
x
)
*
(
double
)
GetScreen
()
->
m_ZoomScalar
;
(
margin_scale_factor
*
(
double
)
size
.
x
);
double
zy
=
(
double
)
BoundaryBox
.
GetHeight
()
/
(
margin_scale_factor
*
(
double
)
size
.
y
)
*
(
double
)
GetScreen
()
->
m_ZoomScalar
;
(
margin_scale_factor
*
(
double
)
size
.
y
);
// Calculates the best zoom
bestzoom
=
wxRound
(
MAX
(
zx
,
zy
)
);
bestzoom
=
MAX
(
zx
,
zy
);
// keep it >= minimal existing zoom (can happen for very small components
// like small power symbols
...
...
eeschema/viewlib_frame.h
View file @
f00696e8
...
...
@@ -60,7 +60,7 @@ public:
void
ReCreateHToolbar
();
void
ReCreateVToolbar
();
void
OnLeftClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
int
BestZoom
();
double
BestZoom
();
void
ClickOnLibList
(
wxCommandEvent
&
event
);
void
ClickOnCmpList
(
wxCommandEvent
&
event
);
void
OnSetRelativeOffset
(
wxCommandEvent
&
event
);
...
...
gerbview/gerbview_frame.cpp
View file @
f00696e8
...
...
@@ -148,13 +148,12 @@ void GERBVIEW_FRAME::OnCloseWindow( wxCloseEvent& Event )
}
int
GERBVIEW_FRAME
::
BestZoom
()
double
GERBVIEW_FRAME
::
BestZoom
()
{
// gives a minimal value to zoom, if no item in list
if
(
GetBoard
()
->
m_Drawings
==
NULL
)
return
16
*
GetScreen
()
->
m_ZoomScalar
;
return
16
0.0
;
double
x
,
y
;
EDA_RECT
bbox
;
BOARD_ITEM
*
item
=
GetBoard
()
->
m_Drawings
;
...
...
@@ -168,11 +167,11 @@ int GERBVIEW_FRAME::BestZoom()
wxSize
size
=
DrawPanel
->
GetClientSize
();
x
=
(
double
)
bbox
.
GetWidth
()
/
(
double
)
size
.
x
;
y
=
(
double
)
bbox
.
GetHeight
()
/
(
double
)
size
.
y
;
double
x
=
(
double
)
bbox
.
GetWidth
()
/
(
double
)
size
.
x
;
double
y
=
(
double
)
bbox
.
GetHeight
()
/
(
double
)
size
.
y
;
GetScreen
()
->
SetScrollCenterPosition
(
bbox
.
Centre
()
);
int
best_zoom
=
wxRound
(
MAX
(
x
,
y
)
*
(
double
)
GetScreen
()
->
m_ZoomScalar
);
double
best_zoom
=
MAX
(
x
,
y
);
return
best_zoom
;
}
...
...
gerbview/gerbview_frame.h
View file @
f00696e8
...
...
@@ -68,7 +68,7 @@ public: GERBVIEW_FRAME( wxWindow* father, const wxString& title,
void
OnLeftClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
void
OnLeftDClick
(
wxDC
*
DC
,
const
wxPoint
&
MousePos
);
bool
OnRightClick
(
const
wxPoint
&
MousePos
,
wxMenu
*
PopMenu
);
int
BestZoom
();
double
BestZoom
();
/**
* Function ReportMessage
...
...
include/class_base_screen.h
View file @
f00696e8
...
...
@@ -122,9 +122,8 @@ public:
/* Grid and zoom values. */
wxPoint
m_GridOrigin
;
wxArrayInt
m_ZoomList
;
/* Array of standard zoom coefficients. */
int
m_Zoom
;
/* Current zoom coefficient. */
int
m_ZoomScalar
;
/* Allow zooming to non-integer increments. */
wxArrayDouble
m_ZoomList
;
/* Array of standard zoom (i.e. scale) coefficients. */
double
m_Zoom
;
/* Current zoom coefficient. */
bool
m_IsPrinting
;
public
:
...
...
@@ -278,21 +277,21 @@ public:
* Note: the zoom factor is NOT the scaling factor
* the scaling factor is m_ZoomScalar * GetZoom()
*/
int
GetZoom
()
const
;
double
GetZoom
()
const
;
/**
* Function SetZoom
* adjusts the current zoom factor
* @param coeff - Zoom coefficient.
*/
bool
SetZoom
(
int
coeff
);
bool
SetZoom
(
double
coeff
);
/**
* Function SetZoomList
* sets the list of zoom factors.
* @param aZoomList An array of zoom factors in ascending order, zero terminated
*/
void
SetZoomList
(
const
wxArray
Int
&
aZoomList
);
void
SetZoomList
(
const
wxArray
Double
&
aZoomList
);
bool
SetNextZoom
();
bool
SetPreviousZoom
();
...
...
include/wxBasePcbFrame.h
View file @
f00696e8
...
...
@@ -114,7 +114,7 @@ public:
return
(
PCB_SCREEN
*
)
EDA_DRAW_FRAME
::
GetScreen
();
}
int
BestZoom
();
virtual
double
BestZoom
();
virtual
void
Show3D_Frame
(
wxCommandEvent
&
event
);
...
...
include/wxEeschemaStruct.h
View file @
f00696e8
...
...
@@ -225,7 +225,7 @@ public:
void
OnLeftDClick
(
wxDC
*
aDC
,
const
wxPoint
&
aPosition
);
bool
OnRightClick
(
const
wxPoint
&
aPosition
,
wxMenu
*
PopMenu
);
void
OnSelectOptionToolbar
(
wxCommandEvent
&
event
);
int
BestZoom
();
double
BestZoom
();
/**
* Function LocateAndShowItem
...
...
include/wxstruct.h
View file @
f00696e8
...
...
@@ -468,10 +468,10 @@ public:
void
Window_Zoom
(
EDA_RECT
&
Rect
);
/* Return the zoom level which displays the full page on screen */
virtual
int
BestZoom
()
=
0
;
virtual
double
BestZoom
()
=
0
;
/* Return the current zoom level */
int
GetZoom
(
void
);
double
GetZoom
(
void
);
void
TraceWorkSheet
(
wxDC
*
DC
,
BASE_SCREEN
*
screen
,
int
line_width
);
void
PlotWorkSheet
(
PLOTTER
*
plotter
,
BASE_SCREEN
*
screen
);
...
...
packaging/windows/nsis/install.nsi
View file @
f00696e8
...
...
@@ -17,7 +17,7 @@
; General Product Description Definitions
!define PRODUCT_NAME "KiCad"
!define PRODUCT_VERSION "2011.07.0
3
"
!define PRODUCT_VERSION "2011.07.0
4
"
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
!define COMPANY_NAME ""
...
...
pcbnew/basepcbframe.cpp
View file @
f00696e8
...
...
@@ -99,14 +99,14 @@ void PCB_BASE_FRAME::SetBoard( BOARD* aBoard )
/**
* Return the "best" zoom, i.e. the zoom which shows the entire board on screen
*/
int
PCB_BASE_FRAME
::
BestZoom
(
void
)
double
PCB_BASE_FRAME
::
BestZoom
(
void
)
{
int
dx
,
dy
,
ii
,
jj
;
int
bestzoom
;
int
dx
,
dy
;
double
ii
,
jj
;
wxSize
size
;
if
(
m_Pcb
==
NULL
)
return
32
*
GetScreen
()
->
m_ZoomScalar
;
return
32
.0
;
m_Pcb
->
ComputeBoundingBox
();
...
...
@@ -115,19 +115,19 @@ int PCB_BASE_FRAME::BestZoom( void )
size
=
DrawPanel
->
GetClientSize
();
if
(
size
.
x
)
ii
=
wxRound
(
(
(
double
)
dx
+
((
double
)
size
.
x
/
2.0
)
)
/
(
double
)
size
.
x
)
;
ii
=
(
double
)(
dx
+
(
size
.
x
/
2
)
)
/
(
double
)
size
.
x
;
else
ii
=
3
1
;
ii
=
3
2.0
;
if
(
size
.
y
)
jj
=
wxRound
(
(
(
double
)
dy
+
((
double
)
size
.
y
/
2.0
)
)
/
(
double
)
size
.
y
)
;
jj
=
(
double
)(
dy
+
(
size
.
y
/
2
)
)
/
(
double
)
size
.
y
;
else
jj
=
3
1
;
jj
=
3
2.0
;
bestzoom
=
MAX
(
ii
,
jj
)
+
1
;
double
bestzoom
=
MAX
(
ii
,
jj
)
;
GetScreen
()
->
SetScrollCenterPosition
(
m_Pcb
->
m_BoundaryBox
.
Centre
()
);
return
bestzoom
*
GetScreen
()
->
m_ZoomScalar
;
return
bestzoom
;
}
...
...
@@ -614,15 +614,9 @@ void PCB_BASE_FRAME::updateZoomSelectBox()
{
msg
=
_
(
"Zoom "
);
if
(
(
GetScreen
()
->
m_ZoomList
[
i
]
%
GetScreen
()
->
m_ZoomScalar
)
==
0
)
msg
<<
GetScreen
()
->
m_ZoomList
[
i
]
/
GetScreen
()
->
m_ZoomScalar
;
else
{
wxString
value
;
value
.
Printf
(
wxT
(
"%.1f"
),
(
float
)
GetScreen
()
->
m_ZoomList
[
i
]
/
GetScreen
()
->
m_ZoomScalar
);
msg
+=
value
;
}
wxString
value
;
value
.
Printf
(
wxT
(
"%g"
),
GetScreen
()
->
m_ZoomList
[
i
]);
msg
+=
value
;
m_SelZoomBox
->
Append
(
msg
);
...
...
pcbnew/classpcb.cpp
View file @
f00696e8
...
...
@@ -22,13 +22,14 @@
* Also useful in Gerbview for this reason.
* Zoom 5 and 10 can create artefacts when drawing (integer overflow in low level graphic functions )
*/
static
const
int
PcbZoomList
[]
=
static
const
double
PcbZoomList
[]
=
{
5
,
10
,
15
,
20
,
30
,
45
,
70
,
100
,
150
,
220
,
350
,
500
,
800
,
1200
,
2000
,
3500
,
5000
,
10000
,
20000
0.5
,
1.0
,
1.5
,
2.0
,
3.0
,
4.5
,
7.0
,
10.0
,
15.0
,
22.0
,
35.0
,
50.0
,
80.0
,
120.0
,
200.0
,
350.0
,
500.0
,
1000.0
,
2000.0
};
#define PCB_ZOOM_LIST_CNT ( sizeof( PcbZoomList ) / sizeof(
int
) )
#define PCB_ZOOM_LIST_CNT ( sizeof( PcbZoomList ) / sizeof(
PcbZoomList[0]
) )
#define MM_TO_PCB_UNITS 10000.0 / 25.4
...
...
pcbnew/librairi.cpp
View file @
f00696e8
...
...
@@ -506,6 +506,9 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibName,
FILE
*
lib_module
,
*
dest
;
bool
added
=
true
;
if
(
aModule
==
NULL
)
return
false
;
aModule
->
DisplayInfo
(
this
);
if
(
!
wxFileExists
(
aLibName
)
)
...
...
pcbnew/modedit.cpp
View file @
f00696e8
...
...
@@ -260,6 +260,8 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
}
case
ID_MODEDIT_SAVE_LIBMODULE
:
if
(
GetBoard
()
->
m_Modules
==
NULL
)
break
;
{
wxFileName
fn
;
fn
=
wxFileName
(
wxEmptyString
,
m_CurrentLib
,
ModuleFileExtension
);
...
...
pcbnew/moduleframe.cpp
View file @
f00696e8
...
...
@@ -93,7 +93,6 @@ BEGIN_EVENT_TABLE( WinEDA_ModuleEditFrame, PCB_BASE_FRAME )
// Menu 3D Frame
EVT_MENU
(
ID_MENU_PCB_SHOW_3D_FRAME
,
WinEDA_ModuleEditFrame
::
Show3D_Frame
)
EVT_UPDATE_UI
(
ID_MODEDIT_SAVE_LIBMODULE
,
WinEDA_ModuleEditFrame
::
OnUpdateLibSelected
)
EVT_UPDATE_UI
(
ID_MODEDIT_DELETE_PART
,
WinEDA_ModuleEditFrame
::
OnUpdateLibSelected
)
EVT_UPDATE_UI
(
ID_MODEDIT_EXPORT_PART
,
WinEDA_ModuleEditFrame
::
OnUpdateModuleSelected
)
EVT_UPDATE_UI
(
ID_MODEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART
,
...
...
version.txt
View file @
f00696e8
release version:
2011 jul 0
3
2011 jul 0
4
files (.zip,.tgz):
kicad-2011-07-0
3
kicad-2011-07-0
4
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