<commit_before>#ifndef _PRIVATE_H
#define _PRIVATE_H

/***************************************************************************

 TheBar.mcc - Next Generation Toolbar MUI Custom Class
 Copyright (C) 2003-2005 <NAME>
 Copyright (C) 2005-2007 by TheBar.mcc Open Source Team

 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 Lesser General Public License for more details.

 TheBar class Support Site:  http://www.sf.net/projects/thebar

 $Id$

***************************************************************************/

#include <mui/TheBar_mcc.h>

#include "TheBar_mcp.h"

#include <mui/muiundoc.h>

/***************************************************************************/

extern ULONG lib_flags;

extern struct MUI_CustomClass *lib_thisClass;
extern struct MUI_CustomClass *lib_spacerClass;
extern struct MUI_CustomClass *lib_dragBarClass;

enum
{
  BASEFLG_Init  = 1<<0,
  BASEFLG_MUI20 = 1<<1,
  BASEFLG_MUI4  = 1<<2,
};

/***************************************************************************/

struct pen
{
    UBYTE pen;
    UBYTE done;
};

#define STATICSORTSIZE 31

struct InstData
{
    APTR                           pool;
    struct MinList                 buttons;

    struct Screen                  *screen;
    ULONG                          screenDepth;

    struct MUIS_TheBar_Brush       **brushes;
    struct MUIS_TheBar_Brush       **sbrushes;
    struct MUIS_TheBar_Brush       **dbrushes;
    struct MUIS_TheBar_Strip       strip;
    ULONG                          nbr;

    struct MUIS_TheBar_Brush       image;
    struct pen                     pens[256];
    struct pen                     gpens[256];

    struct MUIS_TheBar_Brush       simage;
    struct pen                     spens[256];
    struct pen                     sgpens[256];

    struct MUIS_TheBar_Brush       dimage;
    struct pen                     dpens[256];
    struct pen                     dgpens[256];

    Object                         *db;

    ULONG                          spacer;
    ULONG                          barPos;
    ULONG                          viewMode;
    ULONG                          labelPos;

    ULONG                          buttonWidth;
    ULONG                          buttonHeight;
    ULONG                          width;
    ULONG                          height;

    ULONG                          precision;
    ULONG                          scale;
    ULONG                          disMode;
    ULONG                          active;
    ULONG                          changes;
    ULONG                          remove;

    LONG                           cols;
    LONG                           rows;
    LONG                           lcols;
    LONG                           lrows;

    ULONG                          horizSpacing;
    ULONG                          vertSpacing;
    ULONG                          leftBarFrameSpacing;
    ULONG                          rightBarFrameSpacing;
    ULONG                          topBarFrameSpacing;
    ULONG                          bottomBarFrameSpacing;
    ULONG                          barSpacerSpacing;
    ULONG                          horizInnerSpacing;
    ULONG                          topInnerSpacing;
    ULONG                          bottomInnerSpacing;
    ULONG                          horizTextGfxSpacing;
    ULONG                          vertTextGfxSpacing;
    LONG                           barFrameShinePen;
    LONG                           barFrameShadowPen;

    ULONG                          sortMsgID;
    ULONG                          sort[STATICSORTSIZE+1];

    ULONG                          stripsRows;
    ULONG                          stripsCols;
    ULONG                          stripHorizSpace;
    ULONG                          stripVertSpace;

    struct MUI_DragImage           *dm;
    struct MUIS_TheBar_DragImage   di;

    struct BitMap                  *gradbm;
    struct MUIS_TheBar_Gradient    grad;

    struct MUIS_TheBar_Appearance  ap;

    ULONG                          id;

    ULONG                          spacersSize;

    #if defined(VIRTUAL)
    ULONG			                     objWidth;
    ULONG			                     objHeight;
    #endif

    #ifdef __MORPHOS__
    ULONG			                     userFrame;
	UBYTE						   frameSpec[256];
    #endif

    ULONG                          flags;
    ULONG                          userFlags;
    ULONG                          flags2;
    ULONG                          userFlags2;

    struct MUI_EventHandlerNode    eh;
};

/* flags */
enum
{
    FLG_Horiz              = 1<<0,
    FLG_Borderless         = 1<<1,
    FLG_Raised             = 1<<2,
    FLG_Scaled             = 1<<3,
    FLG_Sunny              = 1<<4,
    FLG_EnableKeys         = 1<<5,
    FLG_Setup              = 1<<6,
    FLG_Limbo              = 1<<7,
    FLG_TextOnly           = 1<<8,
    FLG_FreeBrushes        = 1<<9,
    FLG_FreeStrip          = 1<<10,
    FLG_Background         = 1<<11,<commit_msg>PNG Alpha Channel blitting for OS4<commit_after>#ifndef _PRIVATE_H
#define _PRIVATE_H

/***************************************************************************

 TheBar.mcc - Next Generation Toolbar MUI Custom Class
 Copyright (C) 2003-2005 <NAME>
 Copyright (C) 2005-2007 by TheBar.mcc Open Source Team

 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 Lesser General Public License for more details.

 TheBar class Support Site:  http://www.sf.net/projects/thebar

 $Id$

***************************************************************************/

#include <mui/TheBar_mcc.h>

#include "TheBar_mcp.h"

#include <mui/muiundoc.h>

/***************************************************************************/

extern ULONG lib_flags;

extern struct MUI_CustomClass *lib_thisClass;
extern struct MUI_CustomClass *lib_spacerClass;
extern struct MUI_CustomClass *lib_dragBarClass;

enum
{
  BASEFLG_Init  = 1<<0,
  BASEFLG_MUI20 = 1<<1,
  BASEFLG_MUI4  = 1<<2,
};

/***************************************************************************/

struct pen
{
    UBYTE pen;
    UBYTE done;
};

#define STATICSORTSIZE 31

struct InstData
{
    APTR                           pool;
    struct MinList                 buttons;

    struct Screen                  *screen;
    ULONG                          screenDepth;

    struct MUIS_TheBar_Brush       **brushes;
    struct MUIS_TheBar_Brush       **sbrushes;
    struct MUIS_TheBar_Brush       **dbrushes;
    struct MUIS_TheBar_Strip       strip;
    ULONG                          nbr;

    struct MUIS_TheBar_Brush       image;
    struct pen                     pens[256];
    struct pen                     gpens[256];

    struct MUIS_TheBar_Brush       simage;
    struct pen                     spens[256];
    struct pen                     sgpens[256];

    struct MUIS_TheBar_Brush       dimage;
    struct pen                     dpens[256];
    struct pen                     dgpens[256];

    Object                         *db;

    ULONG                          spacer;
    ULONG                          barPos;
    ULONG                          viewMode;
    ULONG                          labelPos;

    ULONG                          buttonWidth;
    ULONG                          buttonHeight;
    ULONG                          width;
    ULONG                          height;

    ULONG                          precision;
    ULONG                          scale;
    ULONG                          disMode;
    ULONG                          active;
    ULONG                          changes;
    ULONG                          remove;

    LONG                           cols;
    LONG                           rows;
    LONG                           lcols;
    LONG                           lrows;

    ULONG                          horizSpacing;
    ULONG                          vertSpacing;
    ULONG                          leftBarFrameSpacing;
    ULONG                          rightBarFrameSpacing;
    ULONG                          topBarFrameSpacing;
    ULONG                          bottomBarFrameSpacing;
    ULONG                          barSpacerSpacing;
    ULONG                          horizInnerSpacing;
    ULONG                          topInnerSpacing;
    ULONG                          bottomInnerSpacing;
    ULONG                          horizTextGfxSpacing;
    ULONG                          vertTextGfxSpacing;
    LONG                           barFrameShinePen;
    LONG                           barFrameShadowPen;

    ULONG                          sortMsgID;
    ULONG                          sort[STATICSORTSIZE+1];

    ULONG                          stripsRows;
    ULONG                          stripsCols;
    ULONG                          stripHorizSpace;
    ULONG                          stripVertSpace;

    struct MUI_DragImage           *dm;
    struct MUIS_TheBar_DragImage   di;

    struct BitMap                  *gradbm;
    struct MUIS_TheBar_Gradient    grad;

    struct MUIS_TheBar_Appearance  ap;

    ULONG                          id;

    ULONG                          spacersSize;

    #if defined(VIRTUAL)
    ULONG			                     objWidth;
    ULONG			                     objHeight;
    #endif

    #if defined(__MORPHOS__) || defined(__amigaos4__)
    ULONG			                     userFrame;
    UBYTE				             frameSpec[256];
    #endif

    ULONG                          flags;
    ULONG                          userFlags;
    ULONG                          flags2;
    ULONG                          userFlags2;

    struct MUI_EventHandlerNode    eh;
};

/* flags */
enum
{
    FLG_Horiz              = 1<<0,
    FLG_Borderless         = 1<<1,
    FLG_Raised             = 1<<2,
    FLG_Scaled             = 1<<3,
    FLG_Sunny              = 1<<4,
    FLG_EnableKeys         = 1<<5,
    FLG_Setup              = 1<<6,
    FLG_Limbo              = 1<<7,
    FLG_TextOnly           = 1<<8,
    FLG_FreeBrushes        = 1<<9,
    FLG_FreeStrip          = 1<<10,
    FLG_Background         = 1<<11,
{'fraction_non_alphanumeric': 0.101091642968535, 'fraction_numerical': 0.014677552518117604, 'mean_word_length': 1.1984271022383546, 'pattern_counts': {'":': 0, '<': 69, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2301890', 'n_tokens_mistral': 3015, 'n_tokens_neox': 2725, 'n_words': 701}