From mint-bounce@lists.fishpool.fi  Fri Sep  7 05:46:01 2007
X-Original-To: fnaumann@mail.boerde.de
Delivered-To: fnaumann@mail.boerde.de
X-Envelope-From: Gerhard_Stoll@b.maus.de
X-Envelope-To: <mint@fishpool.com>
From: Gerhard_Stoll@b.maus.de (Gerhard Stoll)
To: mint@fishpool.com
Subject: [MiNT] SV: form_button in XaAES
Message-ID: <200709070143.p52355@b.maus.de>
In-Reply-To: <PNEILJFPEBGMKCLCJMIHKEEBCDAA.joska@online.no>
Date: Fri, 7 Sep 2007 01:43:00 +0200
Organization: MAUS Berlin (+49-30-82701142)
X-Gateway: b3.maus.de gb1.1r 102698.1858
X-Gateway-Administrator: postmaster@b3.maus.de
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Lines: 238
X-MIME-Autoconverted: from 8bit to quoted-printable by fallback-mx.in-berlin.de id l873e4H1009262
X-ecartis-version: Ecartis v1.0.0
Sender: mint-bounce@lists.fishpool.fi
Errors-To: mint-bounce@lists.fishpool.fi
X-original-sender: Gerhard_Stoll@b.maus.de
Precedence: bulk
List-help: <mailto:ecartis@lists.fishpool.fi?Subject=help>
List-unsubscribe: <mailto:mint-request@lists.fishpool.fi?Subject=unsubscribe>
List-Id: <mint.lists.fishpool.fi>
X-List-ID: <mint.lists.fishpool.fi>
List-subscribe: <mailto:mint-request@lists.fishpool.fi?Subject=subscribe>
List-owner: <mailto:tjhukkan@fishpool.fi>
List-post: <mailto:mint@lists.fishpool.fi>
X-Virus-Scanned: by amavisd-new at relay.boerde.de
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on relay.boerde.de
X-Spam-Status: No, hits=-0.7 tagged_above=-50.5 required=7.0 tests=AWL,
 BAYES_00, DATE_IN_PAST_03_06
X-Spam-Level: 
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by wh58-508.st.uni-magdeburg.de id l873k0rw010090

> Any suggestions on where to find the bindings? I'm still using the
> originall PureC AES-library...

I use for all new project the GEM- and TOS-Lib from Martin Elsässer

http://acspro.atari.org/

If you want to use them and your program use list boxes can I send you a new
version, because the version V0.9.2 have a bug.

-------------------------------cut-------------------------------
The window-oriented drawing functions in the AES
================================================

Formatting: Tab width 5

Andreas Kromke
22.2.97
English translation: Peter West, April 99.


How do I recogise whether the functions are present?
====================================================

Currently you can't.

General
-------

The functions present since  MagiC 5.10:

  objc_wdraw()
  objc_wchange()
  graf_wwatchbox()
  form_wbutton()
  form_wkeybd()
  objc_wedit()

correspond to the respective equivalents

  objc_draw()
  objc_change()
  graf_watchbox()
  form_button()
  form_keybd()
  objc_edit()

with the difference that the drawing functions are restricted to the
visible part of a window, i.e. that the objects to be drawn are
positioned within a window (also window #0 = desktop).
For this a window handle is passed in addition to the known parameters.
These functions are required, for instance, for the background
servicing of window dialogs.


Draw object(tree)
-----------------

Prototype:
    void objc_wdraw(
      OBJECT *tree,
      WORD object,
      WORD  depth,
      GRECT *clip,
      WORD windowhandle
      );

Call:
    contrl[0] = 60    function number
    contrl[1] = 3     entries in intin
    contrl[2] = 0     entries in intout
    contrl[3] = 2     entries in addrin
    contrl[4] = 0     entries in addrout

    intin[0] = object   as for objc_draw()
    intin[1] = depth    as for objc_draw()
    intin[2] = windowhandle window

    addrin[0] = tree    as for objc_draw()
    addrin[1] = clip    NULL => whole window


Alter object status and redraw object
-------------------------------------

Prototype:
    void objc_wchange(
      OBJECT *tree,
      WORD object,
      WORD  newstate,
      GRECT *clip,
      WORD windowhandle
      );

Call:
    contrl[0] = 61    function number
    contrl[1] = 3     entries in intin
    contrl[2] = 0     entries in intout
    contrl[3] = 2     entries in addrin
    contrl[4] = 0     entries in addrout

    intin[0] = object   as for objc_change
    intin[1] = newstate   as for objc_change
    intin[2] = windowhandle window

    addrin[0] = tree    as for objc_change()
    addrin[1] = clip    NULL => whole window

This call is equivalent to objc_change() without a redraw followed by
objc_wdraw().


Service button in window
------------------------

Prototype:
    WORD graf_wwatchbox(
      OBJECT *tree,
      WORD object,
      WORD instate,
      WORD outstate,
      WORD windowhandle
      );

Call:
    contrl[0] = 62    function number
    contrl[1] = 4     entries in intin
    contrl[2] = 1     entries in intout
    contrl[3] = 1     entries in addrin
    contrl[4] = 0     entries in addrout

    intin[0] = object   as for graf_watchbox().
    intin[1] = instate    as for graf_watchbox().
    intin[2] = outstate   as for graf_watchbox().
    intin[3] = windowhandle window

    addrin[0] = tree    as for graf_watchbox()

    intout[0]       as for graf_watchbox()


Service button event for window dialogs
---------------------------------------

Prototype:
  WORD form_wbutton(
      OBJECT *tree,
      WORD object,
      WORD nclicks,
      WORD *nextob,
      WORD windowhandle
      );

Call:
    contrl[0] = 63    function number
    contrl[1] = 3     entries in intin
    contrl[2] = 2     entries in intout
    contrl[3] = 1     entries in addrin
    contrl[4] = 0     entries in addrout

    intin[0] = object   as for form_button()
    intin[1] = nclicks  as for form_button()
    intin[2] = windowhandle window

    addrin[0] = tree    as for form_button()

    intout[0]       as for form_button()
    intout[1] = nextob    as for form_button()


Service keyboard event for window dialogs
-----------------------------------------

Prototype:
  WORD form_wkeybd(
      OBJECT *tree,
      WORD object,
      WORD nextob,
      WORD ichar,
      WORD *onextob,
      WORD *ochar,
      WORD windowhandle
      );

Call:
    contrl[0] = 64    function number
    contrl[1] = 3     entries in intin
    contrl[2] = 3     entries in intout
    contrl[3] = 1     entries in addrin
    contrl[4] = 0     entries in addrout

    intin[0] = object   as for form_keybd()
    intin[1] = ichar    as for form_keybd()
    intin[2] = nextob   as for form_keybd()
    intin[3] = windowhandle window

    addrin[0] = tree    as for form_keybd()

    intout[0]       as for form_keybd()
    intout[1] = onextob   as for form_keybd()
    intout[2] = ochar   as for form_keybd()


Text field input for window dialogs
-----------------------------------

Prototype:
  WORD objc_wedit(
      OBJECT *tree,
      WORD object,
      WORD edchar,
      WORD *didx,
      WORD kind,
      WORD  windowhandle
      );

Call:
    contrl[0] = 65    function number
    contrl[1] = 5     entries in intin
    contrl[2] = 2     entries in intout
    contrl[3] = 1     entries in addrin
    contrl[4] = 0     entries in addrout

    intin[0] = object   as for objc_edit()
    intin[1] = edchar   as for objc_edit()
    intin[2] = *didx    as for objc_edit()
    intin[3] = kind     as for objc_edit()
    intin[4] = windowhandle window

    addrin[0] = tree    as for objc_edit()

    intout[0]       as for objc_edit()
    intout[1] = *didx   as for objc_edit()

-------------------------------cut-------------------------------

Regards, Gerhard


