More of the needed AmigaOS APIs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39049 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
150820bc87
commit
51bac633cf
@ -14,6 +14,9 @@
|
|||||||
#include "rom_calls.h"
|
#include "rom_calls.h"
|
||||||
|
|
||||||
|
|
||||||
|
struct GfxBase *GRAPHICS_BASE_NAME = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*! Maps Amiga error codes to native errors
|
/*! Maps Amiga error codes to native errors
|
||||||
*/
|
*/
|
||||||
|
@ -1102,12 +1102,16 @@ extern ExecBase *EXEC_BASE_NAME;
|
|||||||
LP2(0xcc, APTR, AllocAbs, unsigned long, par1, d0, APTR, last, a1, \
|
LP2(0xcc, APTR, AllocAbs, unsigned long, par1, d0, APTR, last, a1, \
|
||||||
, EXEC_BASE_NAME)
|
, EXEC_BASE_NAME)
|
||||||
|
|
||||||
|
#define OldOpenLibrary(last) \
|
||||||
|
LP1(0x198, struct Library *, OldOpenLibrary, /*UBYTE*/const char *, last, a1, \
|
||||||
|
, EXEC_BASE_NAME)
|
||||||
|
|
||||||
#define CloseLibrary(last) \
|
#define CloseLibrary(last) \
|
||||||
LP1NR(0x19e, CloseLibrary, struct Library *, last, a1, \
|
LP1NR(0x19e, CloseLibrary, struct Library *, last, a1, \
|
||||||
, EXEC_BASE_NAME)
|
, EXEC_BASE_NAME)
|
||||||
|
|
||||||
#define DoIO(last) \
|
#define DoIO(last) \
|
||||||
LP1(0x1c8, BYTE, DoIO, struct IORequest *, last, a1, \
|
LP1(0x1c8, int8, DoIO, struct IORequest *, last, a1, \
|
||||||
, EXEC_BASE_NAME)
|
, EXEC_BASE_NAME)
|
||||||
|
|
||||||
#define OpenLibrary(par1, last) \
|
#define OpenLibrary(par1, last) \
|
||||||
@ -1122,6 +1126,95 @@ extern "C" status_t exec_error(int32 err);
|
|||||||
|
|
||||||
#endif /* __ASSEMBLER__ */
|
#endif /* __ASSEMBLER__ */
|
||||||
|
|
||||||
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
|
// <graphics/graphics.h>
|
||||||
|
|
||||||
|
#define GRAPHICSNAME "graphics.library"
|
||||||
|
#define GRAPHICS_BASE_NAME GraphicsBase
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLER__
|
||||||
|
|
||||||
|
struct GfxBase {
|
||||||
|
struct Library LibNode;
|
||||||
|
struct View *ActiView;
|
||||||
|
struct copinit *copinit;
|
||||||
|
int32 *cia;
|
||||||
|
int32 *blitter;
|
||||||
|
uint16 *LOFlist;
|
||||||
|
uint16 *SHFlist;
|
||||||
|
struct bltnode *blthd;
|
||||||
|
struct bltnode *blttl;
|
||||||
|
struct bltnode *bsblthd;
|
||||||
|
struct bltnode *bsblttl;
|
||||||
|
|
||||||
|
//...
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ViewPort {
|
||||||
|
struct ViewPort *Next;
|
||||||
|
struct ColorMap *ColorMap;
|
||||||
|
struct CopList *DspIns;
|
||||||
|
struct CopList *SprIns;
|
||||||
|
struct CopList *ClrIns;
|
||||||
|
struct UCopList *UCopIns;
|
||||||
|
int16 DWidth, DHright;
|
||||||
|
int16 DxOffset, DyOffset;
|
||||||
|
uint16 Modes;
|
||||||
|
uint8 SpritePriorities;
|
||||||
|
uint8 ExtendedModes;
|
||||||
|
struct RastInfo *RasInfo;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct RastPort {
|
||||||
|
struct Layer *Layer;
|
||||||
|
//...
|
||||||
|
};
|
||||||
|
|
||||||
|
// <graphics/text.h>
|
||||||
|
|
||||||
|
struct TextAttr {
|
||||||
|
const char *taName;
|
||||||
|
uint16 ta_YSize;
|
||||||
|
uint8 ta_Style, ta_Flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct TextFont;
|
||||||
|
|
||||||
|
extern struct GfxBase *GRAPHICS_BASE_NAME;
|
||||||
|
|
||||||
|
#define ClearScreen(last) \
|
||||||
|
LP1NR(0x30, ClearScreen, struct RastPort *, last, a1, \
|
||||||
|
, GRAPHICS_BASE_NAME)
|
||||||
|
|
||||||
|
#define Text(par1, par2, last) \
|
||||||
|
LP3(0x3c, int32, Text, struct RastPort *, par1, a1, const char *, par2, a0, unsigned long, last, d0, \
|
||||||
|
, GRAPHICS_BASE_NAME)
|
||||||
|
|
||||||
|
#define SetFont(par1, last) \
|
||||||
|
LP2(0x42, int32, SetFont, struct RastPort *, par1, a1, struct TextFont *, last, a0, \
|
||||||
|
, GRAPHICS_BASE_NAME)
|
||||||
|
|
||||||
|
#define OpenFont(last) \
|
||||||
|
LP1(0x48, struct TextFont *, OpenFont, struct TextAttr *, last, a0, \
|
||||||
|
, GRAPHICS_BASE_NAME)
|
||||||
|
|
||||||
|
#define LoadRGB4(par1, par2, last) \
|
||||||
|
LP3NR(0xc0, LoadRGB4, struct ViewPort *, par1, a0, const uint16 *, par2, a1, long, last, d0, \
|
||||||
|
, GRAPHICS_BASE_NAME)
|
||||||
|
|
||||||
|
#define Move(par1, par2, last) \
|
||||||
|
LP3NR(0xf0, Move, struct RastPort *, par1, a1, long, par2, d0, long, last, d1, \
|
||||||
|
, GRAPHICS_BASE_NAME)
|
||||||
|
|
||||||
|
#define SetDrMd(par1, last) \
|
||||||
|
LP2NR(0x162, SetDrMd, struct RastPort *, par1, a1, unsigned long, last, d0, \
|
||||||
|
, GRAPHICS_BASE_NAME)
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
@ -1139,13 +1232,53 @@ extern "C" status_t exec_error(int32 err);
|
|||||||
|
|
||||||
#ifndef __ASSEMBLER__
|
#ifndef __ASSEMBLER__
|
||||||
|
|
||||||
extern Library *INTUITION_BASE_NAME;
|
// <intuition/screen.h>
|
||||||
|
|
||||||
|
struct NewScreen {
|
||||||
|
int16 LeftEdge, TopEdge, Width, Height, Depth;
|
||||||
|
uint8 DetailPen, BlockPen;
|
||||||
|
uint16 ViewModes;
|
||||||
|
uint16 Type;
|
||||||
|
struct TextAttr *Font;
|
||||||
|
/*UBYTE*/const char *DefaultTitle;
|
||||||
|
struct Gadget *Gadgets;
|
||||||
|
struct BitMap *CustomBitMap;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct Screen {
|
||||||
|
struct Screen *NextScreen;
|
||||||
|
struct Window *FirstWindow;
|
||||||
|
int16 LeftEdge, TopEdge;
|
||||||
|
int16 Width, Height;
|
||||||
|
int16 MouseX, MouseY;
|
||||||
|
uint16 Flags;
|
||||||
|
const char *Title;
|
||||||
|
const char *DefaultTitle;
|
||||||
|
int8 BarHeight, BarVBorder, BarHBorder, MenuVBorder, MenuHBorder;
|
||||||
|
int8 WBorTop, WBorLeft, WBorRight, WBorBottom;
|
||||||
|
struct TextAttr *Font;
|
||||||
|
struct ViewPort ViewPort;
|
||||||
|
struct RastPort RastPort;
|
||||||
|
//...
|
||||||
|
};
|
||||||
|
|
||||||
|
extern struct Library *INTUITION_BASE_NAME;
|
||||||
|
|
||||||
|
#define CloseScreen(last) \
|
||||||
|
LP1(0x42, bool, CloseScreen, struct Screen *, last, a0, \
|
||||||
|
, INTUITION_BASE_NAME)
|
||||||
|
|
||||||
#define DisplayAlert(par1, par2, last) \
|
#define DisplayAlert(par1, par2, last) \
|
||||||
LP3(0x5a, bool, DisplayAlert, unsigned long, par1, d0, void *, \
|
LP3(0x5a, bool, DisplayAlert, unsigned long, par1, d0, void *, \
|
||||||
par2, a0, unsigned long, last, d1, \
|
par2, a0, unsigned long, last, d1, \
|
||||||
, INTUITION_BASE_NAME)
|
, INTUITION_BASE_NAME)
|
||||||
|
|
||||||
|
#define OpenScreen(last) \
|
||||||
|
LP1(0xc6, struct Screen *, OpenScreen, struct NewScreen *, last, a0, \
|
||||||
|
, INTUITION_BASE_NAME)
|
||||||
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLER__ */
|
#endif /* __ASSEMBLER__ */
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user