pcb 4.1.1
An interactive printed circuit board layout editor.

print.c File Reference

Printing routines. More...

#include "global.h"
#include "hid_draw.h"
#include <time.h>
#include "data.h"
#include "draw.h"
#include "drill.h"
#include "file.h"
#include "find.h"
#include "error.h"
#include "misc.h"
#include "print.h"
#include "polygon.h"
#include "rtree.h"
#include "search.h"
#include "hid.h"
Include dependency graph for print.c:

Go to the source code of this file.

Defines

#define TEXT_SIZE   MIL_TO_COORD(150)
#define TEXT_LINE   MIL_TO_COORD(150)
#define DRILL_MARK_SIZE   MIL_TO_COORD(16)
#define FAB_LINE_W   MIL_TO_COORD(8)

Functions

static void fab_line (hidGC gc, int x1, int y1, int x2, int y2)
static void fab_circle (hidGC gc, int x, int y, int r)
static void text_at (hidGC gc, int x, int y, int align, char *fmt,...)
 Align text ?
static void drill_sym (hidGC gc, int idx, int x, int y)
 
static int count_drill_lines (DrillInfoType *AllDrills)
int PrintFab_overhang (void)
void PrintFab (hidGC gc)

Detailed Description

Printing routines.

Note:
Change History:
10/11/96 11:37 AJF Added support for a Text() driver function.
This was done out of a pressing need to force text to be printed on the silkscreen layer.
Perhaps the design is not the best.

Copyright.


PCB, interactive printed circuit board design

Copyright (C) 1994,1995,1996, 2003 Thomas Nau

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Contact addresses for paper mail and Email:

Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany

Thomas.Nau@rz.uni-ulm.de

Definition in file print.c.


Define Documentation

#define DRILL_MARK_SIZE   MIL_TO_COORD(16)

Definition at line 81 of file print.c.

Referenced by drill_sym().

#define FAB_LINE_W   MIL_TO_COORD(8)

Definition at line 82 of file print.c.

Referenced by PrintFab().

#define TEXT_LINE   MIL_TO_COORD(150)

Definition at line 80 of file print.c.

Referenced by PrintFab(), and PrintFab_overhang().

#define TEXT_SIZE   MIL_TO_COORD(150)

Definition at line 79 of file print.c.

Referenced by PrintFab(), and text_at().


Function Documentation

static int count_drill_lines ( DrillInfoType AllDrills) [static]
static void drill_sym ( hidGC  gc,
int  idx,
int  x,
int  y 
) [static]

Y, +, X, circle, square.

Definition at line 140 of file print.c.

References DRILL_MARK_SIZE, fab_circle(), and fab_line().

Referenced by PrintFab().

Here is the call graph for this function:

static void fab_circle ( hidGC  gc,
int  x,
int  y,
int  r 
) [static]

Definition at line 91 of file print.c.

References hid_draw_st::draw_arc, hid_st::graphics, and gui.

Referenced by drill_sym().

static void fab_line ( hidGC  gc,
int  x1,
int  y1,
int  x2,
int  y2 
) [static]

Definition at line 85 of file print.c.

References hid_draw_st::draw_line, hid_st::graphics, and gui.

Referenced by drill_sym(), and text_at().

int PrintFab_overhang ( void  )

Definition at line 225 of file print.c.

References count_drill_lines(), PCBType::Data, GetDrillInfo(), PCB, and TEXT_LINE.

Referenced by ps_set_layer().

Here is the call graph for this function:

static void text_at ( hidGC  gc,
int  x,
int  y,
int  align,
char *  fmt,
  ... 
) [static]

Align text ?

align is 0=left, 1=center, 2=right, add 8 for underline.

Definition at line 103 of file print.c.

References COORD_TO_MIL, SymbolType::Delta, TextType::Direction, hid_draw_st::draw_pcb_text, fab_line(), PCBType::Font, hid_st::graphics, gui, FontType::MaxHeight, MIL_TO_COORD, NoFlags, PCB, TextType::Scale, SCALE_TEXT, FontType::Symbol, TEXT_SIZE, TextType::TextString, SymbolType::Width, x, TextType::X, y, and TextType::Y.

Referenced by PrintFab().

Here is the call graph for this function: