gschem

o_place.c File Reference

#include <config.h>
#include <stdio.h>
#include "gschem.h"
Include dependency graph for o_place.c:

Go to the source code of this file.

Functions

void o_place_start (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y)
void o_place_end (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y, int continue_placing, GList **ret_new_objects, const char *hook_name)
void o_place_motion (GSCHEM_TOPLEVEL *w_current, int w_x, int w_y)
void o_place_invalidate_rubber (GSCHEM_TOPLEVEL *w_current, int drawing)
 Invalidate bounding box or outline for OBJECT placement.
void o_place_draw_rubber (GSCHEM_TOPLEVEL *w_current, int drawing)
 Draw a bounding box or outline for OBJECT placement.
void o_place_rotate (GSCHEM_TOPLEVEL *w_current)

Function Documentation

void o_place_start ( GSCHEM_TOPLEVEL w_current,
int  w_x,
int  w_y 
)
Todo:
Finish function documentation!!!
Function Description

Definition at line 34 of file o_place.c.

Here is the call graph for this function:

void o_place_end ( GSCHEM_TOPLEVEL w_current,
int  w_x,
int  w_y,
int  continue_placing,
GList **  ret_new_objects,
const char *  hook_name 
)
Todo:
Finish function documentation!!!
Function Description

Definition at line 48 of file o_place.c.

Here is the call graph for this function:

void o_place_motion ( GSCHEM_TOPLEVEL w_current,
int  w_x,
int  w_y 
)
Todo:
Finish function documentation!!!
Function Description

Definition at line 125 of file o_place.c.

Here is the call graph for this function:

void o_place_invalidate_rubber ( GSCHEM_TOPLEVEL w_current,
int  drawing 
)
Function Description
This function invalidates the bounding box where objects would be drawn by o_place_draw_rubber()

The function applies manhatten mode constraints to the coordinates before drawing if the CONTROL key is recording as being pressed in the w_current structure.

The "drawing" parameter is used to indicate if this drawing should immediately use the selected feedback mode and positioning constraints.

With drawing=TRUE, the selected conditions are used immediately, otherwise the conditions from the last drawing operation are used, saving the new state for next time.

This function should be called with drawing=TRUE when starting a rubberbanding operation and when otherwise refreshing the rubberbanded outline (e.g. after a screen redraw). For any undraw operation, should be called with drawing=FALSE, ensuring that the undraw XOR matches the mode and constraints of the corresponding "draw" operation.

If any mode / constraint changes are made between a undraw, redraw XOR pair, the latter (draw) operation must be called with drawing=TRUE. If no mode / constraint changes were made between the pair, it is not harmful to call the draw operation with "drawing=FALSE".

Parameters:
[in]w_currentGSCHEM_TOPLEVEL which we're drawing for.
[in]drawingSet to FALSE for undraw operations to ensure matching conditions to a previous draw operation.

Definition at line 168 of file o_place.c.

Here is the call graph for this function:

void o_place_draw_rubber ( GSCHEM_TOPLEVEL w_current,
int  drawing 
)
Function Description
This function draws either the OBJECTS in the place list or a rectangle around their bounding box, depending upon the currently selected w_current->actionfeedback_mode. This takes the value BOUNDINGBOX or OUTLINE.

The function applies manhatten mode constraints to the coordinates before drawing if the CONTROL key is recording as being pressed in the w_current structure.

The "drawing" parameter is used to indicate if this drawing should immediately use the selected feedback mode and positioning constraints.

With drawing=TRUE, the selected conditions are used immediately, otherwise the conditions from the last drawing operation are used, saving the new state for next time.

This function should be called with drawing=TRUE when starting a rubberbanding operation and when otherwise refreshing the rubberbanded outline (e.g. after a screen redraw). For any undraw operation, should be called with drawing=FALSE, ensuring that the undraw XOR matches the mode and constraints of the corresponding "draw" operation.

If any mode / constraint changes are made between a undraw, redraw XOR pair, the latter (draw) operation must be called with drawing=TRUE. If no mode / constraint changes were made between the pair, it is not harmful to call the draw operation with "drawing=FALSE".

Parameters:
[in]w_currentGSCHEM_TOPLEVEL which we're drawing for.
[in]drawingSet to FALSE for undraw operations to ensure matching conditions to a previous draw operation.

Definition at line 252 of file o_place.c.

Here is the call graph for this function:

void o_place_rotate ( GSCHEM_TOPLEVEL w_current)
Todo:
Finish function documentation!!!
Function Description

Definition at line 315 of file o_place.c.

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines