PreviousUpNext

15.3.666  src/lib/x-kit/widget/lib/three-d.api

## three-d.api

# Compiled by:
#     src/lib/x-kit/widget/xkit-widget.sublib



###                 "Aim for brevity while avoiding jargon."
###
###                                     -- E.J. Dijkstra


# This api is implemented in:
#
#     src/lib/x-kit/widget/lib/three-d.pkg

stipulate
    package xg =  xgeometry;            # xgeometry     is from   src/lib/std/2d/xgeometry.pkg
    package xc =  xclient;              # xclient       is from   src/lib/x-kit/xclient/xclient.pkg
herein

    api Three_D {

        Relief = FLAT | RAISED | SUNKEN | GROOVE | RIDGE;

        draw_box
            :
            xc::Drawable
            ->
            { box:   xg::Box,
              width:  Int,
              relief: Relief
            }
            ->
            widget_base::Shades
            ->
            Void;

        draw_filled_box
            :
            xc::Drawable
            ->
            { box:   xg::Box,
              width:  Int,
              relief:  Relief
            }
            ->
            widget_base::Shades
            ->
            Void;

        draw_round_box
            :
            xc::Drawable
            ->
            { box:  xg::Box,
              width:  Int,
              c_wid:  Int,
              c_ht:   Int,
              relief:  Relief
            }
            ->
            widget_base::Shades
            ->
            Void;

        draw_poly
            :
            xc::Drawable
            ->
            { pts:     List( xg::Point ),
              width:   Int,
              relief:  Relief
            }
            ->
            widget_base::Shades
            ->
            Void;

        draw3drect
            :
            xc::Drawable
            ->
            (xg::Box, Int)
            -> 
            { top:     xc::Pen,
              bottom:  xc::Pen
            }
            ->
            Void;

        draw3drect2
            :
            xc::Drawable
            ->
            (xg::Box, Int)
            -> 
            { top:     xc::Pen,
              bottom:  xc::Pen
            }
            ->
            Void;

        draw3dpoly
            :
            xc::Drawable
            ->
            (List( xg::Point ), Int)
            -> 
            { top:     xc::Pen,
              bottom:  xc::Pen
            }
            ->
            Void;

        draw3dpoly2
            :
            xc::Drawable
            ->
            (List( xg::Point ), Int)
            -> 
            { top:     xc::Pen,
              bottom:  xc::Pen
            }
            ->
            Void;

        draw3dround_box
            :
            xc::Drawable
            ->
            { box:  xg::Box,
              width:  Int,
              c_wid:  Int,
              c_ht:   Int
            }
            ->
            { top:     xc::Pen,
              bottom:  xc::Pen
            }
            ->
            Void;

        draw3dround_box2
            :
            xc::Drawable
            ->
            { box:   xg::Box,
              width:  Int,
              c_wid:  Int,
              c_ht:   Int
            }
            ->
            { top:     xc::Pen,
              bottom:  xc::Pen
            }
            ->
            Void;
    };

end;


## COPYRIGHT (c) 1994 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2013,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext