@DATABASE "pIntui/IntuDrag.h"
@MASTER   "Work2:AD/IInc/pIntui/IntuDrag.h"
@REMARK   This file was created by ADtoHT 2.0 on 08-Dez-96  14:43:13
@REMARK   Do not edit
@REMARK   ADtoHT is © 1993-1995 Christian Stieber

@NODE MAIN "pIntui/IntuDrag.h"
@TOC "__pOS_Dev.guide/MAIN"

@{"pIntui/IntuDrag.h" LINK File}


@{b}Structures@{ub}

@{"pOS_DragList" LINK "pIntui/IntuDrag.h/File" 47}

@ENDNODE
@NODE File "pIntui/IntuDrag.h"
#ifndef __INC_POS_PINTUI_INTUDRAG_H
#define __INC_POS_PINTUI_INTUDRAG_H
/*******************************************************************
 $CRT 30 Jul 1996 : hb

 $AUT Holger Burkarth
 $DAT >>IntuDrag.h<<   02 Nov 1996    11:57:54 - (C) ProDAD
*******************************************************************/
#ifndef __INC_POS_PEXEC_LIST_H
#include "p:pExec/List.h"
#endif
#ifndef __INC_POS_PLAYER_RECT_H
#include "p:pLayer/Rect.h"
#endif

@{"struct pOS_IntuiObj" LINK "pIntui/IObj.h/File" 15};
struct pOS_GfxMap;
@{"struct pOS_RastPort" LINK "pGFX/RastPort.h/File" 21};
struct pOS_DrawInfo;
@{"struct pOS_GadgetDrag" LINK "pGadget/Drag.h/File" 17};


/*----------------------------------
-----------------------------------*/
struct pOS_Drag
{
  pOS_ExNode      dg_Node;

  APTR            dg_Root;
  pOS_IntuiObj   *dg_Render;
  ULONG           dg_Flags;        /* (enum pOS_DragFlags) */
  ULONG           dg_UserData[2];

/*-------- private ----------------*/

  pOS_IBox        dg_Box;
  pOS_GfxMap     *dg_GfxMap;
  pOS_RastPort   *dg_DrawRastPort; /* Screen RastPort */
  pOS_GadgetDrag *dg_GadDrag;
};




/*----------------------------------
-----------------------------------*/
struct pOS_DragList
{
        pOS_ExList    dl_List;
        pOS_IBox      dl_MaxBox;   /* maximale Ausdehnung der Ikone */
        pOS_Rectangle dl_ClipBox;  /* nur innerhalb dieser Box zeichnen */
        pOS_Point     dl_HotSpot;  /* Greifpunkt */
        ULONG         dl_NewTicks; /* Ticks-Counter (neuer Stand) */
        ULONG         dl_OldTicks; /* Ticks-Counter (zuletzt gezeichnet) */
  const pOS_DrawInfo *dl_DrawInfo;
        ULONG         dl_Flags;    /* (enum pOS_DragListFlags) */
        pOS_RastPort *dl_RastPort;

        pOS_RastPort *dl_TempRP;
        pOS_GfxMap   *dl_TempGfx;

  UBYTE dl_Reserved[64];
};



enum pOS_DragFlags /** dg_Flags **/
{
  DRAGF_RenderDT        = 0x0001,       /* DtType über dg_Render ermitteln */
  DRAGF_DelRender       = 0x0002,       /* dg_Render wird bei @{"pOS_DeleteDrag()" LINK "pIntuiD/pOS_DeleteDrag"} autom. gelöscht. */
  DRAGF_UseTicks        = 0x0004,       /* (internal) IObj ist animiert */
};


enum pOS_DragListFlags /** dl_Flags **/
{
  DGLSTF_IsGfxSave      = 0x0001,       /* Hintergrund ist gesichert */
  DGLSTF_IsMoved        = 0x0002,       /* (internal) Position hat sich geändert */
  DGLSTF_PrvLayer       = 0x0004,       /* (internal) privater Layer */
};



#endif
@ENDNODE
