From c0b31f92f914e70abab65bff0eeb2044f4028afe Mon Sep 17 00:00:00 2001 From: charras Date: Sat, 14 Feb 2009 18:01:07 +0000 Subject: [PATCH] Zoom 0.5 added in eeschema and pcbnew. Some artefacts when drawings filled zones accepted. --- eeschema/class_screen.cpp | 5 +++-- include/build_version.h | 4 ++-- include/id.h | 7 ++++--- pcbnew/classpcb.cpp | 5 +++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/eeschema/class_screen.cpp b/eeschema/class_screen.cpp index 72faa90e05..685888e5a5 100644 --- a/eeschema/class_screen.cpp +++ b/eeschema/class_screen.cpp @@ -79,10 +79,11 @@ void SCH_ITEM::Place( WinEDA_SchematicFrame* frame, wxDC* DC ) /* Class SCH_SCREEN: classe de gestion d'un affichage pour schematique */ /***********************************************************************/ -/* Default EESchema zoom values. Limited to 15 values to keep a decent size to menus */ +/* Default EESchema zoom values. Limited to 17 values to keep a decent size to menus +*/ static int SchematicZoomList[] = { - 10, 15, 20, 30, 40, 60, 80, 120, 160, 230, 320, 480, 640, 800, 1280 + 5, 7, 10, 15, 20, 30, 40, 60, 80, 120, 160, 230, 320, 480, 640, 800, 1280 }; #define SCHEMATIC_ZOOM_LIST_CNT ( sizeof( SchematicZoomList ) / \ diff --git a/include/build_version.h b/include/build_version.h index 818145df87..651b1d2822 100644 --- a/include/build_version.h +++ b/include/build_version.h @@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion # include "config.h" (wxT(KICAD_SVN_VERSION)) # else - (wxT("(20090206-unstable)")) /* main program version */ + (wxT("(20090214-RC1)")) /* main program version */ # endif #endif ; @@ -20,7 +20,7 @@ COMMON_GLOBL wxString g_BuildAboutVersion # include "config.h" (wxT(KICAD_ABOUT_VERSION)) # else - (wxT("(20090206-unstable)")) /* svn date & rev (normally overridden) */ + (wxT("(20090214-RC1)")) /* svn date & rev (normally overridden) */ # endif #endif ; diff --git a/include/id.h b/include/id.h index ae4ada1a4d..8a43f93fe7 100644 --- a/include/id.h +++ b/include/id.h @@ -213,15 +213,16 @@ enum main_id { ID_POPUP_ZOOM_SELECT, ID_POPUP_ZOOM_CENTER, - /* Reserve IDs for popup menu zoom levels. If you need more than 15 + /* Reserve IDs for popup menu zoom levels. If you need more * levels of zoom, change ID_POPUP_ZOOM_LEVEL_END. Note that more * than 15 entries in a context submenu may get too large to display * cleanly. Add any additional popup zoom IDs above here or the * zoom event handler will not work properly. - * currently set to 18. This is a compromise for pcbnew. For schematic 15 is enought + * currently room is provided for 32 levels (this is a very large value). + * Pcbnew use 18 values. For schematic 15 is enought */ ID_POPUP_ZOOM_LEVEL_START, - ID_POPUP_ZOOM_LEVEL_END = ID_POPUP_ZOOM_LEVEL_START + 18, + ID_POPUP_ZOOM_LEVEL_END = ID_POPUP_ZOOM_LEVEL_START + 32, ID_POPUP_ZOOM_END_RANGE, // last zoom id ID_POPUP_GRID_PLUS, diff --git a/pcbnew/classpcb.cpp b/pcbnew/classpcb.cpp index 14ba500ae7..85f1663867 100644 --- a/pcbnew/classpcb.cpp +++ b/pcbnew/classpcb.cpp @@ -13,14 +13,15 @@ /* Default pcbnew zoom values. - * Limited to 18 values to keep a decent size to menus + * Limited to 19 values to keep a decent size to menus * 15 it better but does not allow a sufficient number of values * roughtly a 1.5 progression. * The last 2 values is handy when somebody uses a library import of a module * (or foreign data) which has a bad coordinate * 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[] = { 10, 15, 22, 30, 45, 70, 100, 150, 220, 350, 500, 800, 1200, +static const int PcbZoomList[] = { 5, 10, 15, 22, 30, 45, 70, 100, 150, 220, 350, 500, 800, 1200, 2000, 3500, 5000, 10000, 20000 }; #define PCB_ZOOM_LIST_CNT ( sizeof( PcbZoomList ) / sizeof( int ) )