PDL-Graphics-PLplot
view release on metacpan or search on metacpan
#define PLPTR_RECEIVE_IN(t, v, v_in) t *v = (t *)v_in;
#define PLPTR_RECEIVE_SV(v) ((PLPointer) (SvROK(v) ? SvIV((SV*)SvRV(v)) : (IV)NULL))
EOH
# The create_low_level_constants function is used to make the #define'd
# constants in plplot.h available in Perl in the form of functions. It
# should be then possible to write code like this:
#
# plParseOpts (\@ARGV, PL_PARSE_SKIP | PL_PARSE_NOPROGRAM);
sub create_low_level_constants {
my $defn = shift;
my @lines = split (/\n/, $defn);
foreach my $line (@lines) {
next if (($line =~ /^\#/) or ($line =~ /^\s*$/));
foreach my $const ($line =~ /([^\s]+)/g) {
my $func = <<"EOC";
int
$const()
PROTOTYPE:
CODE:
RETVAL = $const;
OUTPUT:
RETVAL
EOC
pp_addxs ($func);
pp_add_exported ($const);
}
}
}
create_low_level_constants (<<'EODEF');
# Definitions used in plParseOpts
PL_PARSE_PARTIAL
PL_PARSE_FULL
PL_PARSE_QUIET
PL_PARSE_NODELETE
PL_PARSE_SHOWALL
PL_PARSE_OVERRIDE
PL_PARSE_NOPROGRAM
PL_PARSE_NODASH
PL_PARSE_SKIP
# Macro used (in some cases) to ignore value of argument
PL_NOTSET
# Definitions for plmesh and plsurf3d
DRAW_LINEX
DRAW_LINEY
DRAW_LINEXY
MAG_COLOR
BASE_CONT
TOP_CONT
SURF_CONT
DRAW_SIDES
FACETED
MESH
# fonts
PL_FCI_SANS
PL_FCI_MONO
# Input event (especially keyboard) definitions for use from plplot
# event handlers.
PLK_BackSpace PLK_Tab PLK_Linefeed PLK_Return PLK_Escape PLK_Delete
PLK_Clear PLK_Pause PLK_Scroll_Lock PLK_Home PLK_Left PLK_Up PLK_Right
PLK_Down PLK_Prior PLK_Next PLK_End PLK_Begin PLK_Select PLK_Print
PLK_Execute PLK_Insert PLK_Undo PLK_Redo PLK_Menu PLK_Find PLK_Cancel
PLK_Help PLK_Break PLK_Mode_switch PLK_script_switch PLK_Num_Lock
PLK_KP_Space PLK_KP_Tab PLK_KP_Enter PLK_KP_F1 PLK_KP_F2 PLK_KP_F3
PLK_KP_F4 PLK_KP_Equal PLK_KP_Multiply PLK_KP_Add PLK_KP_Separator
PLK_KP_Subtract PLK_KP_Decimal PLK_KP_Divide PLK_KP_0 PLK_KP_1
PLK_KP_2 PLK_KP_3 PLK_KP_4 PLK_KP_5 PLK_KP_6 PLK_KP_7 PLK_KP_8
PLK_KP_9 PLK_F1 PLK_F2 PLK_F3 PLK_F4 PLK_F5 PLK_F6 PLK_F7 PLK_F8
PLK_F9 PLK_F10 PLK_F11 PLK_L1 PLK_F12 PLK_L2 PLK_F13 PLK_L3 PLK_F14
PLK_L4 PLK_F15 PLK_L5 PLK_F16 PLK_L6 PLK_F17 PLK_L7 PLK_F18 PLK_L8
PLK_F19 PLK_L9 PLK_F20 PLK_L10 PLK_F21 PLK_R1 PLK_F22 PLK_R2 PLK_F23
PLK_R3 PLK_F24 PLK_R4 PLK_F25 PLK_R5 PLK_F26 PLK_R6 PLK_F27 PLK_R7
PLK_F28 PLK_R8 PLK_F29 PLK_R9 PLK_F30 PLK_R10 PLK_F31 PLK_R11 PLK_F32
PLK_R12 PLK_R13 PLK_F33 PLK_F34 PLK_R14 PLK_F35 PLK_R15 PLK_Shift_L
PLK_Shift_R PLK_Control_L PLK_Control_R PLK_Caps_Lock PLK_Shift_Lock
PLK_Meta_L PLK_Meta_R PLK_Alt_L PLK_Alt_R PLK_Super_L PLK_Super_R
PLK_Hyper_L PLK_Hyper_R
# Type of gridding algorithm for plgriddata ()
GRID_CSA
GRID_DTLI
GRID_NNI
GRID_NNIDW
GRID_NNLI
GRID_NNAIDW
EODEF
create_low_level_constants (<<'EODEF');
# Definitions for plslabelfunc
PL_X_AXIS
PL_Y_AXIS
PL_Z_AXIS
# Definitions for colorbar
PL_COLORBAR_SHADE
PL_COLORBAR_SHADE_LABEL
PL_COLORBAR_IMAGE
PL_COLORBAR_GRADIENT
PL_COLORBAR_CAP_NONE
PL_COLORBAR_CAP_LOW
PL_COLORBAR_CAP_HIGH
PL_COLORBAR_LABEL_LEFT
PL_COLORBAR_LABEL_RIGHT
( run in 0.979 second using v1.01-cache-2.11-cpan-63c85eba8c4 )