Fresh IDE . Artifact [156b9bf358]
Not logged in

This repository is a mirror!

The original is located on: https://fresh.flatassembler.net/fossil/repo/fresh
If you want to follow the project, please update your remote-url

Artifact 156b9bf358282805331fae58a86d9ba6698868c9:


%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%
%                                                                           %
%  AsmEdit control - Documentation                                          %
%  Copyright © Tomasz Grysztar                                              %
%  Modifications by Tommy Lillehagen                                        %
%                                                                           %
%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%

%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%
%  History                                                                  %
%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%

-----------------------------------------------------------------------------
  Version 1.4.5 [31.01.2004] Tommy Lillehagen
  [+] Added message AEM_READONLY and AEM_SETFOCUSLINE.
  [-] Setting focus line will now scoll and place the focus line in middle
      of the window (only if not the line is in the window).
  [-] Changed the parameters of AEM_READONLY.
  [-] Added focus line colors to the AETHEME structure.
  [-] Some minor fixes.

-----------------------------------------------------------------------------
  Version 1.4.4 [10.01.2004] John Found
  [-] Changed behaviour of the message AEM_GETWORDATCARET.
       byte [wparam+2] - if =0 the "." will be included in the word
                            <>0 the "." will be not included in the word
       Returns: lo word of eax - position of the left edge of the word
                hi word of eax - position of the right edge of the word

-----------------------------------------------------------------------------
  Version 1.4.3 [06.01.2004] John Found
  [+] Added message AEM_GETCARETXY and AECARETXY structure.

-----------------------------------------------------------------------------
  Version 1.4.2 fixes [14.12.2003] Tommy Lillehagen
  [-] Using DrawIconEx to draw the marks instead of a imagelist
  [+] Added AEM_SETBOOKMARKICON to set the icon for bookmarks.

-----------------------------------------------------------------------------
  Version 1.4.2 [14.12.2003] Tommy Lillehagen
  [-] The bookmarks is now cleared during the creation of the control
  [-] Using bitmap to mark bookmarks

-----------------------------------------------------------------------------
  Version 1.4.1 [24.11.2003] John Found
  [+] Added message: AEM_SETLINEDATA - opposite to AEM_GETLINEDATA with same
      parameters.
  [+] Added message: AEM_GETLINEPTR - returns the pointer to the given line
-----------------------------------------------------------------------------
  Version 1.4 fixes [15.11.2003] John Found
  [+] Changes in behaviour of right mouse button. Now it moves the cursor
      on the position on WM_RBUTTONDOWN
-----------------------------------------------------------------------------
  Version 1.4 [10.09.03 - 09:07]
-----------------------------------------------------------------------------
  [+] Support for comment/uncomment/indent/outdent lines
  [+] Added dymamic bookmark system (see messages reference for more info)
  [-] Minor bug fixes

  Version 1.3 [11.08.03 - 16:15]
-----------------------------------------------------------------------------
  [-] AEM_LOAD and AEM_SAVE are not a part of the library anymore
  [-] Minor bug fixes

  Version 1.2 [11.08.03 - 14:10]
-----------------------------------------------------------------------------
  [+] Different cursor in margin
  [+] AsmEdit in source, not via DLL
  [-] Changes in the AEM_SETTHEME (new name) message (see the messages
      reference)
  [-] Changes in the AEM_SETSYNTAXHIGHLIGHT message (see the messages
      reference)
  [-] Removed an unnecessary API call in AEM_LOAD
  [-] Removed the fasm_syntax procedure from the library

  Version 1.1 [10.08.03 - 20:08]
-----------------------------------------------------------------------------
  [+] Now you select the whole line by double-click in the left-margin
  [-] Fixed "caret-in-margin" bug
  [-] Fixed default font

  Version 1.0 [10.08.03 - 12:12]
-----------------------------------------------------------------------------
  [+] Added messages for file handling (AEM_LOAD, AEM_SAVE)
  [+] Added support for left-margin (AEM_SETMARGINWIDTH, AEM_SETMARGINCOLOR)
  [+] Popup-menu is now supported (AEM_SETPOPUPMENU)


%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%
%  Todo /bugs                                                               %
%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%

  * Highlight of lines (breakpoint/error etc.)


%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%
%  Available styles and notifications                                       %
%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%

  Styles:
    AES_AUTOINDENT, AES_SMARTTABS, AES_OPTIMALFILL, AES_SECURESEL,
    AES_AUTOBRACKETS, AES_CONSOLECARET, AES_INDENTSEL, AES_LINESELECT

  Notifications:
    AEN_SETFOCUS, AEN_KILLFOCUS, AEN_TEXTCHANGE, AEN_POSCHANGE,
    AEN_MODECHANGE, AEN_OUTOFMEMORY, AEN_MARGINDBLCLK


%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%
%  Messages reference                                                       %
%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%&%

  WM_COPY
  WM_CUT
  WM_PASTE
  WM_CLEAR
  WM_SETTEXT
  WM_GETTEXTLENGTH
  WM_GETTEXT
  WM_SETFONT
  WM_GETFONT
  WM_UNDO / EM_UNDO
  EM_CANUNDO
  EM_EMPTYUNDOBUFFER
  EM_REPLACESEL

  Parameters:
    As for standard messages of those names.

  Return:
    As for standard messages of those names.

-----------------------------------------------------------------------------

  AEM_SETMODE

  Parameters:
    wparam = new mode value
    lparam = ignored, should be zero

  Return:
    Always returns zero.

  Remarks:
    Mode value can be zero or any combination of the following constants:
      AEMODE_OVERWRITE   - overwrite mode
      AEMODE_VERTICALSEL - vertical selection mode

-----------------------------------------------------------------------------

  AEM_GETMODE

  Parameters:
    wparam = ignored, should be zero
    lparam = ignored, should be zero

  Return:
    Current mode value.

-----------------------------------------------------------------------------

  AEM_SETSYNTAXHIGHLIGHT

  Parameters:
    wparam = pointer to table of syntax colors
    lparam = pointer to syntax highlight procedure or 0

  Return:
    Always returns zero.

  Remarks:
    Syntax procedure is SyntaxProc(lpLine,lpColors), both parameters are
    pointers to buffer of length 256. First is the pointer to the data of
    line that has to be syntax highlighted (it is padded with spaces to the
    maximum length), second is the pointer to colors for the each character
    in line, initially filled with zeros. Each color value occupies one byte
    and is index to the table of syntax colors (each field in that table is
    the standard 32-bit color value, table is indexed from 1) or zero for
    the unhighlighed color.
    If wparam equals to zero, the table of syntax colors will be as it is.

-----------------------------------------------------------------------------

  AEM_GETLINEDATA

  Parameters:
    wparam = line number
    lparam = pointer to buffer for the line data

  Return:
    Always returns zero.

  Remarks:
    If line number is zero, current line is selected, if it's -1, the last
    line is selected. Buffer should have length of 256 bytes.

-----------------------------------------------------------------------------

  AEM_SETPOS

  Parameters:
    wparam = pointer to AEPOS structure
    lparam = ignored, should be zero

  Return:
    Always returns zero.

  Remarks:
    Fields of AEPOS should be set to the following values:
      caretLine         = number of line in which caret has to be placed,
                          zero means current line, -1 means last line
      caretPosition     = position in line where caret has to be placed,
                          zero means current position, 257 is the maximum
      selectionLine     = number of line where the selection has to begin,
                          zero means current line, -1 means last line
                          the end of selection is marked by caret position
      selectionPosition = position in line where selection has to begin,
                          zero means current position, 257 is the maximum

-----------------------------------------------------------------------------

  AEM_GETPOS

  Parameters:
    wparam = pointer to AEPOS structure
    lparam = ignored, should be zero

  Return:
    Always returns zero.

  Remarks:
    Fields of AEPOS are filled with the following information:
      caretLine         = number of line in which caret is placed
      caretPosition     = position in line where caret is placed
      selectionLine     = number of line where the selection begins
      selectionPosition = position in line where selection begins

-----------------------------------------------------------------------------

  AEM_FINDFIRST

  Parameters:
    wparam = search flags
    lparam = pointer to string to search for

  Return:
    TRUE if string was found, FALSE otherwise.

  Remarks:
    Flags can be zero or any combination of the following values:
      AEFIND_CASESENSITIVE - case sensitive search
      AEFIND_WHOLEWORDS    - accept whole words only
      AEFIND_BACKWARD      - search backward from current position

-----------------------------------------------------------------------------

  AEM_FINDNEXT

  Parameters:
    wparam = ignored, should be zero
    lparam = ignored, should be zero

  Return:
    TRUE if string was found, FALSE otherwise.

  Remarks:
    AEM_FINDFIRST has to be called first.

-----------------------------------------------------------------------------

  AEM_CANFINDNEXT

  Parameters:
    wparam = ignored, should be zero
    lparam = ignored, should be zero

  Return:
    TRUE if there is some search to be completed, FALSE otherwise.

-----------------------------------------------------------------------------

  AEM_GETWORDATCARET

  Parameters:
    word [wparam] = size of buffer
    word [wparam+2] = flag -> TRUE -> point is not in word.
                              FALSE ->point is in the word.
    lparam = pointer to buffer

  Return:
    Always returns zero.

  Remarks:
    The buffer is filled with the string containing word in which the caret
    is placed.

-----------------------------------------------------------------------------

  AEM_SETTEXTCOLOR

  Parameters:
    wparam = color for text
    lparam = color for text background

  Return:
    Always returns zero.

-----------------------------------------------------------------------------

  AEM_SETSELCOLOR

  Parameters:
    wparam = color for selected text
    lparam = color for selected background

  Return:
    Always returns zero.

-----------------------------------------------------------------------------

  AEM_SETPOPUPMENU

  Parameters:
    wparam = ignored, should be zero
    lparam = handle of popup menu

  Return:
    Always returns zero.

-----------------------------------------------------------------------------

  AEM_SETMARGINCOLOR

  Parameters:
    wparam = color for margin background
    lparam = color for margin border

  Return:
    Always returns zero.

-----------------------------------------------------------------------------

  AEM_SETMARGINWIDTH

  Parameters:
    wparam = gap between border and text
    lparam = width of margin

  Return:
    Always returns zero.

-----------------------------------------------------------------------------

  AEM_SETTHEME

  Parameters:
    wparam = ignored, should be zero
    lparam = pointer to AETHEME structure

  Return:
    Always returns zero.

  Remarks:
    Fields of AETHEME should be set to the following values:
      .text_color          = window text
      .text_background     = window background
      .sel_text            = selected text
      .sel_background      = background of the selected text
      .margin_background   = background of the margin
      .margin_border       = border of the margin
      .margin_width        = width of margin
      .margin_gap          = width of gap between margin border and text
      .bookmark            = bookmark color
      .syntax_proc         = pointer to syntax highlight procedure or 0
      .syntax_colors       = colors used in the syntax procedure
                             (can be zero or more dword values)

-----------------------------------------------------------------------------
  AEM_SETBOOKMARKICON

  Parameters:
    wparam = handle of icon
    lparam = ignored

-----------------------------------------------------------------------------

  AEM_TOGGLEBOOKMARK

  Parameters:
    wparam = ignored, should be zero
    lparam = ignored, should be zero

  Return:
    Returns the id of the newly created bookmark.

-----------------------------------------------------------------------------

  AEM_GOTOBOOKMARK

  Parameters:
    wparam = zero (or id of bookmark if lparam = AEBM_NUM)
    lparam = bookmark constant: AEBM_NEXT, AEBM_PREV or AEBM_NUM

  Return:
    Returns the line number of the target bookmark.

-----------------------------------------------------------------------------

  AEM_CLEARBOOKMARKS

  Parameters:
    wparam = ignored, should be zero
    lparam = ignored, should be zero

  Return:
    Always returns zero.

-----------------------------------------------------------------------------

  AEM_COMMENT

  Parameters:
    wparam = ignored, should be zero
    lparam = comment (= true) or uncomment (= false)

  Return:
    Always returns zero.

-----------------------------------------------------------------------------

  AEM_INDENT

  Parameters:
    wparam = ignored, should be zero
    lparam = indent (= true) or outdent (= false)

  Return:
    Always returns zero.