Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AG_INTRO(3)		     Library Functions Manual		     AG_INTRO(3)

NAME
     AG_Intro -- agar introduction

DESCRIPTION
     Agar  is a cross-platform GUI system and framework.  It provides a program-
     ming platform and a standard toolkit of widgets from which graphical appli-
     cations can be built.

AGAR-CORE
     The ag_core library is Agar's non-graphical platform and  utility	library.
     It  implements  the  base	object	system,  events  / virtual functions and
     timers.  It provides cross-platform  interfaces  to  OS  services	such  as
     filesystems,  kernel-based events, timers and threads.  To use this library
     alone (without GUI), link against `agar-core-config --libs'.

     AG_Config(3)	Manage Agar configuration settings.
     AG_Core(3) 	Core Agar library initialization.
     AG_DataSource(3)	Data sources and serialization.
     AG_Db(3)		Generic database access methods.
     AG_DSO(3)		Dynamic linker interface.
     AG_Error(3)	Error handling and error-checking memory allocation.
     AG_Event(3)	Event handlers / virtual functions.
     AG_EventLoop(3)	Low-level event loop.  Event sources and sinks.
     AG_Execute(3)	File execution interface.
     AG_File(3) 	File access routines.
     AG_Limits(3)	Limit constants.
     AG_Object(3)	The Agar object system.
     AG_String(3)	C string specific functions.
     AG_TextElement(3)	Multilanguage dynamic text buffer.
     AG_Threads(3)	Threads interface.
     AG_Timer(3)	The Agar timer facility.
     AG_Time(3) 	Monotonically-increasing time sources.
     AG_User(3) 	User account information access.
     AG_Variable(3)	Agar object variables.
     AG_Version(3)	Data file versioning.

AGAR-GUI: BASE SYSTEM
     The ag_gui library includes the base Agar GUI system and its standard  wid-
     get toolkit.  To use it, link against `agar-config --libs'.

     AG_AlphaFn(3)	      Alpha blending functions.
     AG_Color(3)	      Color structure.
     AG_Cursor(3)	      Cursor configuration.
     AG_Driver(3)	      Driver (backend) interface.
     AG_DriverSw(3)	      Driver interface for single-window drivers.
     AG_DriverMw(3)	      Driver interface for multi-window drivers.
     AG_GlobalKeys(3)	      Application-wide keyboard shortcuts.
     AG_GL(3)		      OpenGL-specific functions.
     AG_GuiDebugger(3)	      GUI debugging tool.
     AG_InitGraphics(3)       Agar GUI initialization.
     AG_Keyboard(3)	      Interface to keyboard status.
     AG_KeySym(3)	      Keyboard key definitions.
     AG_KeyMod(3)	      Modifier keys definitions.
     AG_MouseButton(3)	      Mouse button definitions.
     AG_StyleSheet(3)	      Agar's version of cascading style sheets.
     AG_Surface(3)	      Graphics surfaces.
     AG_Text(3) 	      Typography; interface to the font engine.
     AG_Units(3)	      Conversion between different unit systems.
     AG_Widget(3)	      The base class for Agar widgets (and windows).
     AG_WidgetPrimitives(3)   Rendering primitives for GUI elements.
     AG_Window(3)	      The base container for Agar widgets.

AGAR-GUI: STANDARD WIDGETS
     Standard widgets in in ag_gui (unless built with "--disable-widgets").

     AG_Box(3)		    Horizontal/vertical widget container.
     AG_Button(3)	    Push-button widget.
     AG_Checkbox(3)	    Checkbox widget.
     AG_Combo(3)	    Canned text input/drop-down menu widget.
     AG_Console(3)	    Scrollable text console widget.
     AG_DirDlg(3)	    Directory selection widget.
     AG_Editable(3)	    The Agar text editor (plain editable field).
     AG_FileDlg(3)	    File selection widget.
     AG_Fixed(3)	    Container for fixed position/geometry widgets.
     AG_FontSelector(3)     Font selection widget.
     AG_GLView(3)	    Low-level OpenGL context widget.
     AG_Graph(3)	    Graph display widget.
     AG_FixedPlotter(3)     Plotter for integral values.
     AG_HSVPal(3)	    Hue/saturation/value color picker widget.
     AG_Icon(3) 	    Drag-and-droppable	object that can be inserted into
			    AG_Socket(3) widgets.
     AG_Label(3)	    Display a string of text (static or polled).
     AG_MPane(3)	    Standard single, dual, triple and quad paned view.
     AG_Menu(3) 	    Menu widget.
     AG_Notebook(3)	    Notebook widget.
     AG_Numerical(3)	    Spinbutton widget (for integers or floats).
     AG_Pane(3) 	    Dual paned view.
     AG_Pixmap(3)	    Displays arbitrary surfaces.
     AG_ProgressBar(3)	    Progress bar widget.
     AG_Radio(3)	    Simple radio group widget (integer).
     AG_Scrollbar(3)	    Scrollbar (integer or floating-point).
     AG_Scrollview(3)	    Scrollable view.
     AG_Separator(3)	    Cosmetic separator widget.
     AG_Slider(3)	    Slider control (integer or floating-point).
     AG_Socket(3)	    Placeholder for drag-and-droppable AG_Icon(3).
     AG_Statusbar(3)	    Specialized statusbar widget.
     AG_Table(3)	    Table display widget.
     AG_Treetbl(3)	    Tree-based table display widget.
     AG_Textbox(3)	    The Agar text editor (an AG_Editable in a box).
     AG_Tlist(3)	    Linearized tree / list box widget.
     AG_Toolbar(3)	    Specialized button container for toolbars.
     AG_UCombo(3)	    Single-button variant of AG_Combo(3).

AGAR-MATH
     The ag_math library is a general-purpose math library  which  extends  Agar
     with  new	widgets and support for linear algebra / geometry types.  To use
     this library, link against `agar-math-config --libs'.

     M_Matrix(3)       Matrix operations.  Provides optimized methods for sparse
		       matrices (common in scientific applications) as	well  as
		       4x4 matrices (common in computer graphics).
     M_Circle(3)       Circles in R^2 and R^3.
     M_Color(3)        Mapping between different color spaces.
     M_Complex(3)      Complex-number arithmetic.
     M_Sort(3)	       Sort algorithms (qsort, heapsort, mergesort, radixsort)
     M_VectorZ(3)      Vectors with signed integer valued elements.
     M_String(3)       Math-specific extensions to the AG_Printf(3) engine.
     M_Line(3)	       Lines, half-lines and line segments.
     M_Matview(3)      Visualization widget for M_Matrix(3).
     M_Plane(3)        Routines related to planes in R^3.
     M_Plotter(3)      General-purpose plotting widget (displays sets of M_Real,
		       M_Vector and M_Complex elements).
     M_PointSet(3)     Operations on sets of points (e.g., convex hull).
     M_Polygon(3)      Operations related to polygons in R^2 and R^3.
     M_Quaternion(3)   Basic quaternion arithmetic.
     M_Rectangle(3)    Routines specific to rectangles in R^2 and R^3.
     M_Triangle(3)     Routines specific to triangles in R^2 and R^3.
     M_Vector(3)       Vectors (optimized R^2, R^3 and R^4 or general R^n).

AGAR-NET
     The ag_net library provides network access methods and implements a modular
     HTTP/1.1	application   server.	 To   use  this  library,  link  against
     `agar-net-config --libs'.

     AG_Net(3)	  Interface to network services.
     AG_Web(3)	  HTTP/1.1 application server.

AGAR-SG
     The ag_sg library (beta) provides a basic	3D  engine.   It  implements  3D
     scene-graph,  rendering  and  geometry  methods.  To use this library, link
     against `agar-sg-config --libs'.

     SG(3)	       Base scene graph object.
     SG_Image(3)       Textured polygon generated from an image surface.
     SG_Camera(3)      Viewpoint in scene (tied to the SG_View(3) widget).
     SG_CgProgram(3)   Vertex/fragment program in the Cg language.
     SG_Circle(3)      Circle (reference geometry).
     SG_Geom(3)        Base class for reference geometry objects.
     SG_Light(3)       Light source.
     SG_Node(3)        Base class for all elements of a SG(3) scene.
     SG_Object(3)      Base class for polyhedral objects (as brep).
     SG_Plane(3)       Plane (reference geometry).
     SG_Point(3)       Single point (reference geometry).
     SG_Polygon(3)     Polygon (reference geometry).
     SG_PolyBall(3)    Sphere (as polyhedral approximation).
     SG_PolyBox(3)     Rectangular box (as polyhedron).
     SG_Program(3)     Base class for vertex or fragment programs.
     SG_Rectangle(3)   Rectangle (reference geometry).
     SG_Sphere(3)      Sphere (reference geometry).
     SG_Texture(3)     Texture compiled from a set of surfaces.
     SG_Triangle(3)    Triangle (reference geometry).
     SG_View(3)        Agar visualization and editor widget for SG(3) scenes.
     SG_Voxel(3)       Voxel object.

AGAR-SK
     The ag_sk library (beta) implements dimensioned 2D sketches with constraint
     solving through degree-of-freedom analysis.  Sketches contain sets of  met-
     ric  relations (i.e., distances, angles) and logical relations (i.e., coin-
     cidence,  parallelism,  tangency).   To  use  this  library,  link  against
     `agar-sk-config --libs'.

     SK(3)	  Base sketch object.
     SK_View(3)   Agar visualization widget for sketch objects.

AGAR-AU
     The  ag_au  library  (beta)  provides a sound interface extends ag_gui with
     widgets useful in audio applications such as waveform visualizers.  To  use
     this library, link against `agar-au-config --libs'.

     AU(3)	    Audio library initialization.
     AU_Wave(3)     Structure containing an audio stream.
     AU_DevOut(3)   Interface to audio output device.

AGAR-MAP
     The ag_map library (beta) implements a simple and extensible 2D/3D tile en-
     gine.  To use this library, link against `agar-map-config --libs'.

     MAP(3)	      Base map object.
     MAP_Actor(3)     Map object rendered dynamically.
     MAP_View(3)      Visualization and edition widget.
     RG(3)	      Feature-based 2D pixel graphics.
     RG_Feature(3)    Base feature framework.
     RG_Pixmap(3)     A pixmap image element.
     RG_Sketch(3)     A vector sketch element.
     RG_Texture(3)    A texture element.
     RG_Tile(3)       Base tile element.
     RG_Tileview(3)   Edition and visualization widget.

AGAR-VG
     The ag_vg library implements basic 2D vector graphics display.  It includes
     an  editor tool framework.  Geometrical placement of elements is determined
     by linear transformations using floating-point methods.  To  use  this  li-
     brary, link against `agar-vg-config --libs'.

     VG(3)	     Vector drawing object.
     VG_View(3)      Display and edition widget.
     VG_Arc(3)	     Arc entity.
     VG_Circle(3)    Circle entity.
     VG_Line(3)      Line entity.
     VG_Polygon(3)   Polygon entity.
     VG_Text(3)      Text entity.

COMMON MANUAL SECTIONS
     Manual  pages are provided for most Agar object classes.  Some sections are
     standard throughout the documentation:

     INHERITANCE HIERARCHY   List of inherited parent classes (see  AG_Object(3)
			     for details on inheritance).

     EVENTS		     The  list of events defined (or raised) by this ob-
			     ject (see AG_Event(3) for details on events).

     STRUCTURE DATA	     List of public structure members which are safe  to
			     access  directly.	 Multithreaded applications must
			     use AG_ObjectLock(3) prior to accessing  this  data
			     (although	in  some  contexts, such as inside event
			     handler routines, objects can be  presumed  locked;
			     see AG_Threads(3) for details).

SEE ALSO
     Agar Website
     Agar Patreon
     Agar GitHub

Agar 1.7			December 21, 2022		     AG_INTRO(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=AG_Intro&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help