kicad/include/worksheet.h

262 lines
8.1 KiB
C++

/***************/
/* worksheet.h */
/***************/
// Values are in 1/1000 inch
#ifndef WORKSHEET_H_
#define WORKSHEET_H_
#include <common.h> // Mm2mils()
#define GRID_REF_W 70 // height of the band reference grid
#define SIZETEXT 60 // worksheet text size
#define SIZETEXT_REF 50 // worksheet frame reference text size
#define PAS_REF 2000 // no reference markings on worksheet frame
#define TEXT_VTAB_HEIGHT (SIZETEXT * 2)
#if defined(KICAD_GOST)
// There is a page layout minor issue in GOST mode.
// This is the rounding-off error of 1 mil exactly.
// I hope this problem will go away when we will go
// to nanometers (zaka62).
#define STAMP_OX Mm2mils( 185 ) + 1
#define STAMP_OY Mm2mils( 55 )
#define STAMP_Y_0 0
#define STAMP_Y_5 Mm2mils( 5 )
#define STAMP_Y_8 Mm2mils( 8 )
#define STAMP_Y_7 Mm2mils( 7 )
#define STAMP_Y_10 Mm2mils( 10 )
#define STAMP_Y_14 Mm2mils( 14 )
#define STAMP_Y_15 Mm2mils( 15 )
#define STAMP_Y_20 Mm2mils( 20 )
#define STAMP_Y_25 Mm2mils( 25 )
#define STAMP_Y_30 Mm2mils( 30 )
#define STAMP_Y_35 Mm2mils( 35 )
#define STAMP_Y_40 Mm2mils( 40 )
#define STAMP_Y_45 Mm2mils( 45 )
#define STAMP_Y_50 Mm2mils( 50 )
#define STAMP_Y_55 Mm2mils( 55 )
#define STAMP_X_0 0
#define STAMP_X_10 Mm2mils( 10 )
#define STAMP_X_14 Mm2mils( 14 )
#define STAMP_X_18 Mm2mils( 18 )
#define STAMP_X_30 Mm2mils( 30 )
#define STAMP_X_35 Mm2mils( 35 )
#define STAMP_X_40 Mm2mils( 40 )
#define STAMP_X_45 Mm2mils( 45 )
#define STAMP_X_50 Mm2mils( 50 )
#define STAMP_X_53 Mm2mils( 53 )
#define STAMP_X_65 Mm2mils( 65 )
#define STAMP_X_70 Mm2mils( 70 )
#define STAMP_X_84 Mm2mils( 84 )
#define STAMP_X_85 Mm2mils( 85 )
#define STAMP_X_120 Mm2mils( 120 )
#define STAMP_X_130 Mm2mils( 130 )
#define STAMP_X_137 Mm2mils( 137 )
#define STAMP_X_145 Mm2mils( 145 )
#define STAMP_X_168 Mm2mils( 168 )
#define STAMP_X_178 Mm2mils( 178 )
#define STAMP_X_185 Mm2mils( 185 )
#define STAMP_5 Mm2mils( 5 )
#define STAMP_7 Mm2mils( 7 )
#define STAMP_12 Mm2mils( 12 )
#define STAMP_145 Mm2mils( 145 )
#define STAMP_110 Mm2mils( 110 )
#define STAMP_85 Mm2mils( 85 )
#define STAMP_60 Mm2mils( 60 )
#define STAMP_25 Mm2mils( 25 )
#define STAMP_287 Mm2mils( 287 )
#define STAMP_227 Mm2mils( 227 )
#define STAMP_167 Mm2mils( 167 )
#endif
// The coordinates below are relative to the bottom right corner of page and
// will be subtracted from this origin.
#define BLOCK_OX 4200
#define BLOCK_KICAD_VERSION_X BLOCK_OX - SIZETEXT
#define BLOCK_KICAD_VERSION_Y SIZETEXT
#define BLOCK_REV_X 820
#define BLOCK_REV_Y (SIZETEXT * 3)
#define BLOCK_DATE_X BLOCK_OX - (SIZETEXT * 15)
#define BLOCK_DATE_Y (SIZETEXT * 3)
#define BLOCK_ID_SHEET_X 820
#define BLOCK_ID_SHEET_Y SIZETEXT
#define BLOCK_SIZE_SHEET_X BLOCK_OX - SIZETEXT
#define BLOCK_SIZE_SHEET_Y (SIZETEXT * 3)
#define BLOCK_TITLE_X BLOCK_OX - SIZETEXT
#define BLOCK_TITLE_Y (SIZETEXT * 5)
#define BLOCK_FULLSHEETNAME_X BLOCK_OX - SIZETEXT
#define BLOCK_FULLSHEETNAME_Y (SIZETEXT * 7)
#define BLOCK_FILENAME_X BLOCK_OX - SIZETEXT
#define BLOCK_FILENAME_Y (SIZETEXT * 9)
#define BLOCK_COMMENT_X BLOCK_OX - SIZETEXT
#define VARIABLE_BLOCK_START_POSITION (SIZETEXT * 10)
#define BLOCK_COMPANY_Y (SIZETEXT * 11)
#define BLOCK_COMMENT1_Y (SIZETEXT * 13)
#define BLOCK_COMMENT2_Y (SIZETEXT * 15)
#define BLOCK_COMMENT3_Y (SIZETEXT * 17)
#define BLOCK_COMMENT4_Y (SIZETEXT * 19)
struct Ki_WorkSheetData
{
public:
int m_Type;
Ki_WorkSheetData* Pnext;
int m_Posx, m_Posy;
int m_Endx, m_Endy;
const wxChar* m_Legende;
const wxChar* m_Text;
};
/// Work sheet structure type definitions.
enum TypeKi_WorkSheetData {
WS_DATE,
WS_REV,
WS_KICAD_VERSION,
#if defined(KICAD_GOST)
WS_PODPIS,
#endif
WS_SIZESHEET,
WS_IDENTSHEET,
#if defined(KICAD_GOST)
WS_SHEETS,
#endif
WS_TITLE,
WS_FILENAME,
WS_FULLSHEETNAME,
WS_COMPANY_NAME,
WS_COMMENT1,
WS_COMMENT2,
WS_COMMENT3,
WS_COMMENT4,
WS_SEGMENT,
WS_UPPER_SEGMENT,
WS_LEFT_SEGMENT,
#if defined(KICAD_GOST)
WS_CADRE,
WS_LEFT_SEGMENT_D,
WS_SEGMENT_D,
WS_PODPIS_D,
WS_IDENTSHEET_D,
WS_SEGMENT_LU,
WS_SEGMENT_LT,
WS_PODPIS_LU
#else
WS_CADRE
#endif
};
extern Ki_WorkSheetData WS_Date;
extern Ki_WorkSheetData WS_Revision;
extern Ki_WorkSheetData WS_Licence;
extern Ki_WorkSheetData WS_SizeSheet;
extern Ki_WorkSheetData WS_IdentSheet;
extern Ki_WorkSheetData WS_FullSheetName;
extern Ki_WorkSheetData WS_SheetFilename;
extern Ki_WorkSheetData WS_Title;
extern Ki_WorkSheetData WS_Company;
extern Ki_WorkSheetData WS_Comment1;
extern Ki_WorkSheetData WS_Comment2;
extern Ki_WorkSheetData WS_Comment3;
extern Ki_WorkSheetData WS_Comment4;
extern Ki_WorkSheetData WS_SeparatorLine;
extern Ki_WorkSheetData WS_MostLeftLine;
extern Ki_WorkSheetData WS_MostUpperLine;
extern Ki_WorkSheetData WS_Segm3;
extern Ki_WorkSheetData WS_Segm4;
extern Ki_WorkSheetData WS_Segm5;
extern Ki_WorkSheetData WS_Segm6;
extern Ki_WorkSheetData WS_Segm7;
#if defined(KICAD_GOST)
extern Ki_WorkSheetData WS_Izm;
extern Ki_WorkSheetData WS_Razr;
extern Ki_WorkSheetData WS_Prov;
extern Ki_WorkSheetData WS_TKon;
extern Ki_WorkSheetData WS_NKon;
extern Ki_WorkSheetData WS_Utv;
extern Ki_WorkSheetData WS_List;
extern Ki_WorkSheetData WS_NDoc;
extern Ki_WorkSheetData WS_Podp;
extern Ki_WorkSheetData WS_Data;
extern Ki_WorkSheetData WS_Art;
extern Ki_WorkSheetData WS_Mass;
extern Ki_WorkSheetData WS_Msht;
extern Ki_WorkSheetData WS_List1;
extern Ki_WorkSheetData WS_List2;
extern Ki_WorkSheetData WS_Segm8;
extern Ki_WorkSheetData WS_Segm9;
extern Ki_WorkSheetData WS_Segm10;
extern Ki_WorkSheetData WS_Segm11;
extern Ki_WorkSheetData WS_Segm12;
extern Ki_WorkSheetData WS_Segm13;
extern Ki_WorkSheetData WS_Segm14;
extern Ki_WorkSheetData WS_Segm15;
extern Ki_WorkSheetData WS_Segm16;
extern Ki_WorkSheetData WS_Segm17;
extern Ki_WorkSheetData WS_Segm18;
extern Ki_WorkSheetData WS_Segm19;
extern Ki_WorkSheetData WS_Segm20;
extern Ki_WorkSheetData WS_Segm21;
extern Ki_WorkSheetData WS_Segm22;
extern Ki_WorkSheetData WS_Segm23;
extern Ki_WorkSheetData WS_Segm24;
extern Ki_WorkSheetData WS_Segm25;
extern Ki_WorkSheetData WS_CADRE_D;
extern Ki_WorkSheetData WS_Segm1_D;
extern Ki_WorkSheetData WS_Segm2_D;
extern Ki_WorkSheetData WS_Segm3_D;
extern Ki_WorkSheetData WS_Segm4_D;
extern Ki_WorkSheetData WS_Segm5_D;
extern Ki_WorkSheetData WS_Segm6_D;
extern Ki_WorkSheetData WS_Segm7_D;
extern Ki_WorkSheetData WS_Segm8_D;
extern Ki_WorkSheetData WS_Segm9_D;
extern Ki_WorkSheetData WS_Segm10_D;
extern Ki_WorkSheetData WS_Segm11_D;
extern Ki_WorkSheetData WS_Izm_D;
extern Ki_WorkSheetData WS_List_D;
extern Ki_WorkSheetData WS_NDoc_D;
extern Ki_WorkSheetData WS_Podp_D;
extern Ki_WorkSheetData WS_Date_D;
extern Ki_WorkSheetData WS_List1_D;
extern Ki_WorkSheetData WS_ListN_D;
extern Ki_WorkSheetData WS_Segm1_LU;
extern Ki_WorkSheetData WS_Segm2_LU;
extern Ki_WorkSheetData WS_Segm3_LU;
extern Ki_WorkSheetData WS_Segm4_LU;
extern Ki_WorkSheetData WS_Segm5_LU;
extern Ki_WorkSheetData WS_Segm6_LU;
extern Ki_WorkSheetData WS_Segm7_LU;
extern Ki_WorkSheetData WS_Segm8_LU;
extern Ki_WorkSheetData WS_Segm9_LU;
extern Ki_WorkSheetData WS_Segm10_LU;
extern Ki_WorkSheetData WS_Segm11_LU;
extern Ki_WorkSheetData WS_Segm12_LU;
extern Ki_WorkSheetData WS_Segm13_LU;
extern Ki_WorkSheetData WS_Podp1_LU;
extern Ki_WorkSheetData WS_Podp2_LU;
extern Ki_WorkSheetData WS_Podp3_LU;
extern Ki_WorkSheetData WS_Podp4_LU;
extern Ki_WorkSheetData WS_Podp5_LU;
extern Ki_WorkSheetData WS_Podp6_LU;
extern Ki_WorkSheetData WS_Podp7_LU;
extern Ki_WorkSheetData WS_Segm1_LT;
extern Ki_WorkSheetData WS_Segm2_LT;
extern Ki_WorkSheetData WS_Segm3_LT;
extern Ki_WorkSheetData WS_Segm4_LT;
extern Ki_WorkSheetData WS_Segm5_LT;
#endif
#endif // WORKSHEET_H_