HyperView2.959 banner Documentation
 
public interface HyperConstants.class
This interface contains the main variable and bit
definitions for Hyperview.class as well as the Gob.class and Gadget.class flag bits.



String HYPERVIEWVERSION       // Current version String


String DEFAULT_DATA_FILENAME // Name of file to save debug info

                             
final static String[] DEFAULT_MENU_STRINGS //Default Pop menu strings
final static String BASE_STACKNAME  = "HyperView";
    
Dispatch.class Control Flags

// Note:
// Dispatch.class has undergone major changes/refinement
// since its inception and some of these bits are not safe.
//Refee to the Dispatch.class documentation for the proper
// implementation and examples
  Bit definitions
                           

     // Inherit  various components from the previous display stack    
INHERIT_ALL      
INHERIT_GADGETS
INHERIT_GOBS
INHERIT_STRINGS
INHERIT_ANIMGOBS
INHERIT_CONBACKS
INHERIT_GETSTRINGS
INHERIT_TITLEBAR
INHERIT_MENUS
INHERIT_BACKGROUND
ABORT_ENA
      
HyperView.class Defaults and control bits for HyperView.flags
 
MAX_HYPERCOMPONENTS     // Maximum # of Gobs & Gadgets

MAX_FONT_SIZE
MAX_GETSTRINGS
MAX_KEY_MESSAGES
MAX_STRINGS
MAX_BACKGROUNDS
// Display/ main enable bits.
//Note: Some of these may be unimplemented

DISPLAY_ENA
CONNECT_ENA
KEYBOARD_ENA
CONSOLE_ENA
TEXT_ENA
GOB_ENA
LINE_ENA
MENU_ENA            // Turn PopMenu on and off
OUTLINE_ENA
LAYER_SWAP_ENA // Tell View to process Gob swap
KEEP_RUNNING   // else return to previous stack frame
BACKGROUND_ENA // Enable background image
DEBUG_ENA      // Output debug data
MENU_ACTIVE   
RUN_EXCEPTION
BACKGROUND_LOADING
IMAGE_LOADING
GOB_BOUNCED
TITLEBAR_ENA        // Enable/Disable TitleBar
CONNECTED          
CONNECTING
RUNSTACK_TIMER
GURU_ENA
GEM_REFRESH    // Redraw connection gem  
OBSERVER_ECHO  // Output ImageObserver info to stdout
INIT_OVERRIDE
SKIP_RESTORE
PARENT_IS_HYPERFRAME // Is window else web browser
WAIT_TEXT     // Wait for text timeout then return to
              //to previous stack frame

HyperView.class Defaults and control bits for HyperView.flags
                     // Scaling behaviour when View is smaller than display Container
BACKGROUND_UNDERLAP
BACKGROUND_STRETCH    // Scale background image to equal
                      // View size.
EXTERNAL_SERVER_ENA   // Else no server
SERVER_SPAWNED_VIEW   // View invoked from Server CLI

HyperView.class Event control bits for HyperView.eventFlags

DISPATCH_ENA
DISPATCH_MENU
RUN_ABORTED
SELECT_SKIP
REMOTE_DISPATCH
SOUND_ENA       

HyperView.class Control bits for HyperView.listFlags        
LIST_REFRESH               // tells View to process display list.
POPUP_NOABORT         // Disables display stack changes while processing popups.
MAX_CONSOLES            // Default 25


// Note: Exection of externally initiated code is
// is now done via the java.nio based
//
// ObjectRegistry.class
// StateMachine.class
// Externalizer.class
//
// However remote dispatch of predefined
// code still functions.
//
// NOTE: Next version of HyperView has new IO multiplexing/Port interface

MAX_REMOTE_DISPATCH       // Default 15 limit on external dispatch statemachine

HyperView.class Control bits for HyperView.listenerFlags

MOUSE_LISTENER_INSTALLED
MOUSE_MOTION_LISTENER_INSTALLED
KEY_LISTENER_INSTALLED

HYPER_ISROOT
HYPER_ISCHILD

HYPER_VIDEO_SYNCHED
HyperView.class Control bits for HyperView.ioFlags (et al)      

IO_DO                           // Do IO synchronously within this thread context.
IO_SEND                       // Queue for asynchronous IO
IO_WAIT                        // Queue a wait request.
IO_QUICK                      // If possible do the IO at once.
ASYNCH_KEY_ENA          // Note: new IO multiplex methods imminent.
IMAGE_FROM_JAR_ENA
HYPEREDIT_ENA

Gob.class Gob.gobFlag bits

GOB_IS_TEXT
GOB_IS_LINE
GOB_IS_GADGET
GOB_ONGOB
GOB_COLLISION_ON    // Enable collision detection

GOB_BOUNCE          // Bounce at end of trajectory
GOB_ORBIT           // Orbit another Gob
GOB_NO_SELECT       // Do not use selected image
GOB_ON_DISPLAY      // Its in view
GOB_LOADING         // Being loaded
GOB_HAS_ZBUFFER    
GOB_IS_ORBITING
GOB_HAS_GRAVITY
GOB_COLLISION_ENA
GOB_CLICK_METHOD    // Enable Gob.onCick()
                                                
                                               
GOB_DO_ONCLICK  // external thread could set to
                // simulate mouse clicked on
                // on the Gob                
                                                //
GOB_MULTICON    // Means The Gob can jump from Console to
                // Console.

GOB_ANIM_ENA   // You could turn this on and off. 
               // If and only if it is actually an
               // AnimGob.class otherwise say byte bye

GOB_ANIMATED 
ZBUFFER_ENA    // Enable/Disable  Zbuffer

GOB_ISLOADED   // Loop around this to wait for image
               // to arrive and or be loaded

ie:

How to loop around the GOB_ISLOADED bit.

      // Load Gob and draw at pixel location 100,100
  Gob myGob = new Gob("someImage.gif",100,100);
  while(myGob.gobFlags & GOB_ISLOADED==0)
  {
     HyperView.delay(200);     // wait 1/5th of a second
  }


                        
GOB_USE_SELECT                                                      // BUT  
GOB_ON_CONSOLE
GOB_COLLIDED 
GOB_GRABBED
GOB_NO_TIDY
GOB_SPLINE_ENA
GOB_INFO_ENA
GOB_ATTACHED_ENA
GOB_IN_SWAPBUFFER
GOB_IS_HYPERCOMPONENT

//Note: all 32 bits of Gob.gobFlags are used
//      Thusly these are for Gob.gobFlags2

GOB_DESTROY         //remove purge and destroy.
GOB_REMOVED
GOB_PURGE_ENA
GOB_POPUP_ENA
GOB_RESTORE_ENA

ANIMATE_GOB

GOB_DISPATCH_ENA      = BIT1;

//
CON_FLIPBACK          = BIT23;
CON_RANDFLIP          = BIT24;
CON_FLIPLOOP          = BIT25;
CON_FLIP_XOR          = BIT26;
CON_FLIP_ASCEND       = BIT27;
COLLISION_START       = BIT28;


TitleBar Flags


TITLEBAR_CLOCK               // Show Real Time Clock.
TITLEBAR_MEMON      = 0x00000008;  // Show memory
TITLEBAR_DRAWSTRING = 0x00000010;  // Draw default text

Gadget.class Flags

   //Note:
   // If you add more you must also add the appropriate
   // to hyperView.hyperDump()
   
GADGETON            // Enable/Disable
GADGETFLASH         // Flash enable
GADGETCOMP          // Complement Planes ^= Planes
GADGETSELECT        // Enable Selected Image
GADGET_TOGGLE
GADGET_STRING
 
GADGET_BITMAPPED
GADGET_SBITMAPPED
          
GAD_USE_SELECT   // Use BUT better have a gob.selecImage
GAD_ITEM_SELECTED
DISPATCH_GADGET 
GAD_LOCK_ON
GAD_IS_MENU
GAD_IS_TITLEBAR
GAD_IS_CONSOLE
GAD_KEYBOARD_ENA    // Enable Keyboard input
GAD_KEY_PRESSED_ENA // KeyPress enable
GAD_KEY_RELEASE_ENA // Key release enable.
GAD_KEY_TYPED_ENA   // Keyboard IO method enable.
GAD_DRAW_CURSOR     // It wants a Cursor enable.
GAD_MOUSEOVER_ENA   //
GAD_NOCLICK         // Turn off onClick.
GAD_NOGRAB          // Disable grabbing
GAD_DISPATCH_ENA    // Enable/Disable the Dispatch.class
                    // associated with this Gadget

GAD_OUTLINE_ENA     // Draw an outline
GAD_TEXT_ENA   
GAD_LAYER_ENA       // Enable layering
                                              // IF you set

       // There are system only.
GAD_IN_LIST
GAD_IS_VIEWPANE
GAD_WAITFOR_IMAGE
GAD_CURSOR_ENA         

MAX_MOUSE_MESSAGES  // Default 255

BACKGROUND_USED    // It had a background



VECTOR_LINE        // Its a moving line
        // for guru
MOUSE_EXCEPTION
KEYBOARD_EXCEPTION 


FileTransaction bits (Not yet implemented) See RFC959

// Note: not implemented yet.
ENABLE     = 0x00000001;
COMPLETED  = 0x00000002;
BEGUN      = 0x00000004;
RECORD     = 0x00000008;
CONFIRMED  = 0x00000010;
DENIED     = 0x00000002;

Scrollbar.class constants bits

SCROLLBAR_HORIZONTAL
SCROLLBAR_VERTICAL
SCROLLBAR_MONO_CNTL


SuperBitmap.class

SCROLL_ENA      = 0x00000001;
Values for Scroll Octant
SCROLL_NON
SCROLL_UP
SCROLL_URIGHT
SCROLL_RIGHT
SCROLL_RIGHTDOWN
SCROLL_DOWN
SCROLL_DOWNLEFT
SCROLL_LEFT
SCROLL_UPLEFT

HORIZONTAL_ENA
VERTICAL_ENA

// That are for autopsy purposes for Guru.class

Guru message Strings
String guruStr[]=
{
"",
"0x1001 Run Dispatch         ",
"0x2001 Sound NULL Ptr       ",
"0x3001 BackGround URL       ",
"0x3002 BackGround OverFlow  ",
"0x3003 SetBackGround() Index",//5
"0x3004 DrawBackGround()     ",
"0x2006 PlaySound()          ",
"0x4001 Exec Stream Overflow.",
"0x4002 Exec Unknown StreamID",
"0x3005 Out of Gob(); Memory ", //10
"0x4001 Illegal AddGadget()  ", 
"0x4002 AddGadget() OverFlow.",
"0x4003 AddGadget() Run Error",
"0x3006 SetFontSize() Error  ",
"0x4004 GadgetDisplay() Error", //15
"0xffff V1.0 Fatal UnRecoverable Error.",
"0x3007 SetBackGround() Index",
"0x4005 String Stream Overflow",
"0x4006 HYPERInit()=false;",
"0x6001 LoadCursor() Exception",      //20
"0x6002 LoadCursor() Image Null",
"0x7001 ConsoleAddGob() Runtime",
""   //23 GuruEnd
};