/* ___________________________________________________________________________
** |*************************************************************************|
** |*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|
** |*| Set TAB to 4 for best readable file layout.  |*|  C++ MaxonDev 4.0  |*|
** |*|______________________________________________|*|____________________|*|
** |*************************************************************************|
** |*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|
** |*|               |*|  $Id: ShowMsgDemo.C (14.10.01)                    |*|
** |*| ###### ###### |*|  RhoSigma Source based on NDK 3.1 Includes 40.15  |*|
** |*| ##  ## ##   # |*| _________________________________________________ |*|
** |*| ##  ##  ##    |*|                                                   |*|
** |*| ######   ##   |*|  Demo to show use of extra/ShowMsg() and Macros   |*|
** |*| ##      ##    |*|                                                   |*|
** |*| ##     ##   # |*| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |*|
** |*| ##     ###### |*|  Copyright © 1998-2001 RhoSigma, Roland Heyder    |*|
** |*|               |*|  All Rights Reserved.                             |*|
** |*|_______________|*|___________________________________________________|*|
** |*************************************************************************|
** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
*/

/* Includes */
#include <exec/types.h>
#include <rhosigma/extradefs.h>

/* Prototypes & Pragmas */
#include <pragma/exec_lib.h>
#include <rhosigma/extra_lib.h>
#include <wbstartup.h>

/* Version-String */
STATIC TEXT vID[] = "$VER: ShowMsgDemoC 2.287 (14.10.01) compiled on "__DATE__\
																" at "__TIME__"\r\n";

ULONG Dos_LibVersion = 37;

struct Library *ExtraBase = NULL;

SMCOLOR(set1,3,12,0,10,FALSE);		/* einige Farben neudefinieren */
SMCOLOR(set2,7,0,10,14,FALSE);
SMCOLOR(set3,11,12,15,0,FALSE);
SMCOLOR(set4,12,15,13,0,FALSE);
SMCOLOR(set5,15,15,0,0,TRUE);

SMTEXT(teil1,100,6,linke Seite,FALSE);		/* kein END-Flag, absolute  */
SMTEXT(teil2,444,6,rechte Seite,FALSE);		/* X-Koordinaten			*/
SMTEXT(teil3,SMTPOS_C,16,zentriert,FALSE);	/* kein END-Flag, zentriert */
SMTEXT(teil4,SMTPOS_C,26,Ende,TRUE);		/* END-Flag, zentriert		*/

void main()
{
	/* Kann auch innerhalb von Funktionen stehen */
	SMTEXT(teil5,SMTPOS_L,6,linksbündig,FALSE);
	SMTEXT(teil6,SMTPOS_C,6,zentriert,FALSE);
	SMTEXT(teil7,SMTPOS_R,6,rechtsbündig,FALSE);
	SMTEXT(teil8,200,16,absolute X-Pos 200 v.l.,TRUE);

	/* mann kann die beiden Macros zur Texterstellung auch mischen */
	SMTEXTP(teil9,SMTPOS_L,6,3,9,1,STS_Bold,STM_Outline,linksbündig,FALSE);
	SMTEXT(teil10,SMTPOS_R,6,rechtsbündig,FALSE);	/* keine Änderung der Prefs,  */
													/* wird genau wie 1.Teilsting */
	SMTEXTP(teil11,SMTPOS_C,6,5,9,1,STS_Underline,STM_Shadow,zentriert,FALSE);
	SMTEXTP(teil12,200,18,12,9,1,STS_Italic,STM_Normal,absolute X-Pos 200 v.l.,TRUE);

	/* Teilstrings vorbereiten (Wichtig) */
	SMTJOIN(12,&teil1,&teil2,&teil3,&teil4,
			   &teil5,&teil6,&teil7,&teil8,
			   &teil9,&teil10,&teil11,&teil12);

	ExtraBase = OpenLibrary("extra.library",1);

	/* ShowMsg ausführen */
	/* Als Param-Pointer verwenden wir die gecastete Referenz des */
	/* jeweils ersten Teilstrings eines Parameterstrings bzw. des */
	/* ersten Farbeintrags der optionalen Farbtabelle.			  */
	ShowMsg((STRPTR) &teil1,NULL,40L,NULL);
	ShowMsg((STRPTR) &teil5,NULL,30L,NULL);
	ShowMsg((STRPTR) &teil9,NULL,32L,&set1);

	CloseLibrary(ExtraBase);
	return;
}

