/usr/local/CPAN/Sx/Sx.pm
package Sx;
require Exporter;
require DynaLoader;
@ISA = (Exporter, DynaLoader);
@EXPORT = qw(
OpenDisplay ShowDisplay MainLoop SyncDisplay
MakeWindow SetCurrentWindow CloseWindow
MakeForm SetForm
MakeButton Make3Button
MakeLabel
MakeToggle SetToggleState GetToggleState
MakeDrawArea SetButtonDownCB SetButtonUpCB SetKeypressCB SetMouseMotionCB
SetColor SetDrawMode SetLineWidth SetDrawArea GetDrawAreaSize ClearDrawArea
DrawPixel GetPixel DrawLine DrawPolyline DrawFilledPolygon DrawFilledBox
DrawBox DrawText DrawArc DrawFilledArc DrawImage GetImage ScrollDrawArea
MakeStringEntry SetStringEntry GetStringEntry
MakeTextWidget SetTextWidgetText GetTextWidgetText
MakeHorizScrollbar MakeVertScrollbar SetScrollbar
MakeScrollList Make3List SetCurrentListItem GetCurrentListItem
ChangeScrollList
MakeMenu MakeMenuItem SetMenuItemChecked GetMenuItemChecked
SetWidgetPos AttachEdge
SetFgColor SetBgColor SetBorderColor GetFgColor GetBgColor
SetLabel SetWidgetState GetWidgetState SetWidgetBitmap
Beep
GetFont SetWidgetFont GetWidgetFont FreeFont FontHeight TextWidth
AddTimeOut RemoveTimeOut
AddReadCallback AddWriteCallback RemoveReadWriteCallback
GetString GetYesNo
GetStandardColors GetNamedColor GetRGBColor FreeStandardColors
GetPrivateColor SetPrivateColor FreePrivateColor GetAllColors
SetColorMap SetMyColorMap FreeAllColors
DestroyWidget SetWidgetInt SetWidgetDat GetWidgetInt GetWidgetDat
AppendText InsertText ReplaceText GetSelection GetTextSelectionPos
UnsetTextSelection SetTextSelection WarpPointer
AddTranslation
SAME_DISPLAY ORIGINAL_WINDOW NullSx TOP_LEVEL_FORM
WHITE BLACK RED GREEN BLUE YELLOW NONEXCLUSIVE_WINDOW EXCLUSIVE_WINDOW
SANE_XOR NO_CARE PLACE_RIGHT PLACE_UNDER LEFT_EDGE RIGHT_EDGE TOP_EDGE
BOTTOM_EDGE ATTACH_LEFT ATTACH_RIGHT ATTACH_TOP ATTACH_BOTTOM
GREY_SCALE_1 GREY_SCALE_2 RAINBOW_1 RAINBOW_2
);
$SxVersion = "2.3";
$VERSION = $SxVersion; # for use by Exporter.pm
bootstrap Sx;
sub SAME_DISPLAY() { undef }
sub ORIGINAL_WINDOW() { undef }
sub NullSx() { undef }
sub TOP_LEVEL_FORM() { undef }
sub AddTranslation ($%) {
my($widget,%trans_list) = @_;
my($event,$callb,$trtable);
while (($event,$callb) = each(%trans_list)) {
unless ($callb =~ /[()]/) {
$callb = "trback_to_perl($callb)";
} elsif ($callb =~ /\(\s*\)/) {
$callb =~ s/[()]//g;
$callb = "trback_to_perl($callb)";
} else {
$callb =~ s/\(/,/;
$callb = "trback_to_perl($callb";
}
$trtable .= ":$event:\t$callb\n";
}
Sx::AddTrans($widget,$trtable);
}
$NONEXCLUSIVE_WINDOW = 0;
$EXCLUSIVE_WINDOW = 1;
$SANE_XOR = 127;
$NO_CARE = 0;
$PLACE_RIGHT = 1;
$PLACE_UNDER = 2;
$LEFT_EDGE = 0;
$RIGHT_EDGE = 1;
$TOP_EDGE = 2;
$BOTTOM_EDGE = 3;
$ATTACH_LEFT = 0;
$ATTACH_RIGHT = 1;
$ATTACH_TOP = 2;
$ATTACH_BOTTOM = 3;
$GREY_SCALE_1 = 0;
$GREY_SCALE_2 = 1;
$RAINBOW_1 = 2;
$RAINBOW_2 = 3;
sub NONEXCLUSIVE_WINDOW() { 0 }
sub EXCLUSIVE_WINDOW() { 1 }
sub SANE_XOR() { 127 }
sub NO_CARE() { 0 }
sub PLACE_RIGHT() { 1 }
sub PLACE_UNDER() { 2 }
sub LEFT_EDGE() { 0 }
sub RIGHT_EDGE() { 1 }
sub TOP_EDGE() { 2 }
sub BOTTOM_EDGE() { 3 }
sub ATTACH_LEFT() { 0 }
sub ATTACH_RIGHT() { 1 }
sub ATTACH_TOP() { 2 }
sub ATTACH_BOTTOM() { 3 }
sub GREY_SCALE_1() { 0 }
sub GREY_SCALE_2() { 1 }
sub RAINBOW_1() { 2 }
sub RAINBOW_2() { 3 }
1;
__END__