ARB
Enumerations | Functions
aw_preset.hxx File Reference
#include "aw_window.hxx"
#include "aw_position.hxx"
#include <attributes.h>
#include <cb.h>
Include dependency graph for aw_preset.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  AW_GCM_AREA { AW_GCM_DATA_AREA, AW_GCM_WINDOW_AREA }
 

Functions

void AW_save_properties (AW_window *aw)
 
void AW_save_specific_properties (AW_window *aw, const char *filename)
 
AW_windowAW_preset_window (AW_root *root)
 
void AW_insert_common_property_menu_entries (AW_window_menu_modes *awmm)
 
void AW_insert_common_property_menu_entries (AW_window_simple_menu *awsm)
 
 DECLARE_CBTYPE_FVV_AND_BUILDERS (GcChangedCallback, void, GcChange)
 
AW_gc_managerAW_manage_GC (AW_window *aww, const char *gc_base_name, AW_device *device, int base_drag, AW_GCM_AREA area, const GcChangedCallback &changecb, const char *default_background_color,...) __ATTR__SENTINEL
 
AW_windowAW_create_gc_window (AW_root *aw_root, AW_gc_manager *gcman)
 
AW_windowAW_create_gc_window_named (AW_root *aw_root, AW_gc_manager *gcman_par, const char *wid, const char *windowname)
 
void AW_popup_gc_color_range_window (AW_window *aww, AW_gc_manager *gcmgr)
 
int AW_get_drag_gc (AW_gc_manager *gcman)
 
void AW_copy_GC_colors (AW_root *aw_root, const char *source_gcman, const char *dest_gcman, const char *id0,...) __ATTR__SENTINEL
 
void AW_displayColorRange (AW_device *device, int first_range_gc, AW::Position start, AW_pos xsize, AW_pos ysize)
 
void AW_getColorRangeNames (const AW_gc_manager *gcman, int dimension, ConstStrArray &ids, ConstStrArray &names)
 
void AW_activateColorRange (AW_gc_manager *gcman, const char *id)
 
const charAW_getActiveColorRangeID (AW_gc_manager *gcman, int *dimension)
 
int AW_getFirstRangeGC (AW_gc_manager *gcman)
 

Enumeration Type Documentation

Enumerator
AW_GCM_DATA_AREA 
AW_GCM_WINDOW_AREA 

Definition at line 37 of file aw_preset.hxx.

Function Documentation

void AW_save_properties ( AW_window aw)
void AW_save_specific_properties ( AW_window aw,
const char filename 
)
AW_window* AW_preset_window ( AW_root root)
void AW_insert_common_property_menu_entries ( AW_window_menu_modes awmm)
void AW_insert_common_property_menu_entries ( AW_window_simple_menu awsm)

Definition at line 1446 of file AW_preset.cxx.

References add_common_property_menu_entries().

DECLARE_CBTYPE_FVV_AND_BUILDERS ( GcChangedCallback  ,
void  ,
GcChange   
)
AW_gc_manager* AW_manage_GC ( AW_window aww,
const char gc_base_name,
AW_device device,
int  base_drag,
AW_GCM_AREA  area,
const GcChangedCallback &  changecb,
const char default_background_color,
  ... 
)

creates some GC pairs:

  • one for normal operation,
  • the other for drag mode eg. AW_manage_GC(aww, "ARB_NT", device, 0, 1, AW_GCM_DATA_AREA, my_expose_cb, "white","#sequence", NULp); (see implementation for more details on parameter strings) will create 2 GCs: GC 0 (normal) GC 1 (drag) Don't forget the NULp sentinel at the end of the GC definition list.

    When the GCs are modified the 'changecb' is called

Parameters
awwbase window
gc_base_name(usually the window_id, prefixed to awars)
devicescreen device
base_dragone after last gc
areaAW_GCM_DATA_AREA or AW_GCM_WINDOW_AREA (motif only)
changecbcb if changed
define_color_groupstrue -> add colors for color groups
...NULp terminated list of \0 terminated <definition>s:

<definition>::= <gcdef>|<reserve>|<rangedef>|<groupdef> <reserve> ::= !<num> "reserves <num> gc-numbers; used eg. in arb_pars to sync GCs with arb_ntree" <gcdef> ::= [<option>+]<descript>['$'<default>] "defines a GC" <option> ::= '#'|'+'|'-' "'-'=no font; '#'=only fixed fonts; '+'=append next GC on same line" <descript> ::= "description of GC; shown as label; has to be unique when converted to key" <default> ::= <xcolor>|<gcref> "default color of GC" <xcolor> ::= "accepts any valid X-colorname (e.g. 'white', '#c0ff40')" <gcref> ::= '{'<descript>'}' "reference to another earlier defined gc" <rangedef> ::= '*'<name>','<type>':'<gcdef>[','<gcdef>]+ "defines a GC-range (with one <gcdef> for each support color)" <name> ::= "description of range" <type> ::= 'linear'|'cyclic'|'planar'|'spatial' "rangetype; implies number of required support colors: linear=2 cyclic=3-N planar=3 spatial=4" <groupdef> ::= '&color_groups' "insert color-groups here"

Definition at line 969 of file AW_preset.cxx.

References active_range_changed_cb(), AW_awar::add_callback(), AW_gc_manager::add_color_groups(), AW_gc_manager::add_gc(), AW_gc_manager::add_gc_range(), aw_assert, AW_DATA_BG, AW_GCM_DATA_AREA, AW_WINDOW_BG, AWAR_COLOR_GROUPS_USE, AW_root::awar_int(), AWAR_RANGE_OVERLAY, AW_gc_manager::awarname_active_range(), color_group_use_changed_cb(), GC_BACKGROUND, GC_TYPE_NORMAL, id, AW_gc_manager::init_all_fonts(), AW_gc_manager::init_color_ranges(), range_overlay_changed_cb(), AW_awar::read_int(), AW_gc_manager::reserve_gcs(), AW_gc_manager::set_changed_cb(), AW_root::SINGLETON, va_end(), and va_start().

Referenced by create_phyl_main_window(), DI_create_view_matrix_window(), ED4_root::generate_window(), RNA3D_Graphics::init_devices(), GEN_graphic::init_devices(), SAI_graphic::init_devices(), and AWT_graphic_tree::init_devices().

AW_window* AW_create_gc_window ( AW_root aw_root,
AW_gc_manager gcman 
)
AW_window* AW_create_gc_window_named ( AW_root aw_root,
AW_gc_manager gcman_par,
const char wid,
const char windowname 
)
void AW_popup_gc_color_range_window ( AW_window aww,
AW_gc_manager gcmgr 
)
int AW_get_drag_gc ( AW_gc_manager gcman)

Definition at line 1377 of file AW_preset.cxx.

References AW_gc_manager::get_drag_gc().

Referenced by AWT_canvas::AWT_canvas().

void AW_copy_GC_colors ( AW_root aw_root,
const char source_gcman,
const char dest_gcman,
const char id0,
  ... 
)
void AW_displayColorRange ( AW_device device,
int  first_range_gc,
AW::Position  start,
AW_pos  xsize,
AW_pos  ysize 
)

display active color range

Parameters
deviceoutput device
first_range_gcfirst color range gc
startposition of upper left corner
xsizexsize used per color
ysizexsize used per color

displays AW_PLANAR_COLORS rows and AW_PLANAR_COLORS columns

Definition at line 1381 of file AW_preset.cxx.

References AW_PLANAR_COLORS, AW_device::box(), AW::FillStyle::SOLID, and y.

Referenced by AWT_graphic_tree::show().

void AW_getColorRangeNames ( const AW_gc_manager gcman,
int  dimension,
ConstStrArray ids,
ConstStrArray names 
)

retrieve selected color-range IDs

Parameters
gcmanthe gc-manager defining the color-ranges
dimensionthe wanted dimension of the color-ranges
idsarray where range-IDs will be stored
namesarray where corresponding range-names will be stored (same index as 'ids')

Definition at line 1406 of file AW_preset.cxx.

References CharPtrArray::clear(), and AW_gc_manager::getColorRangeNames().

void AW_activateColorRange ( AW_gc_manager gcman,
const char id 
)
const char* AW_getActiveColorRangeID ( AW_gc_manager gcman,
int dimension 
)
Returns
the ID of the active color range
Parameters
gcmanof this gc-manager
dimensionif !NULp -> is set to dimension of range

Definition at line 1421 of file AW_preset.cxx.

References AW_gc_manager::getActiveColorRangeID().

int AW_getFirstRangeGC ( AW_gc_manager gcman)

Definition at line 1418 of file AW_preset.cxx.

References AW_gc_manager::first_range_gc().