Ejemplo n.º 1
0
int statusbar_create(video_canvas_t *canvas)
{
  int i;

  canvas->os->font = OpenDiskFont((struct TextAttr *)&led_font_attr);
  if (canvas->os->font) {
    SetFont(canvas->os->window->RPort, canvas->os->font);
  }
  /* else we use system default font */

  for (i=0; i<b_num; i++) {
#ifndef AMIGAOS4
    canvas->os->pens[i] = ObtainBestPen(canvas->os->window->WScreen->ViewPort.ColorMap, palette[i].red * 0x01010101, palette[i].green * 0x01010101, palette[i].blue * 0x01010101, TAG_DONE);
#else
    canvas->os->pens[i] = ObtainBestPen(canvas->os->window->WScreen->ViewPort.ColorMap, palette[i].red * 0x01010101, palette[i].green * 0x01010101, palette[i].blue * 0x01010101);
#endif
  }

  #define MAXSTR "00: 00.0"
  canvas->os->disk_width = TextLength(canvas->os->window->RPort, MAXSTR, strlen(MAXSTR)) + 14 + 7;
  #undef MAXSTR

  #define MAXSTR "000"
  canvas->os->tape_width = TextLength(canvas->os->window->RPort, MAXSTR, strlen(MAXSTR)) + 28 + 7 ;
  #undef MAXSTR

  canvas->os->has_statusbar = 1;

  statusbar_refresh(REFRESH_ALL);

  return 0;
}
Ejemplo n.º 2
0
IPTR Levelmeter__MUIM_Setup(struct IClass *cl, Object *obj, struct MUIP_Setup *msg)
{
    struct Levelmeter_DATA *data = INST_DATA(cl, obj);
    //struct RastPort 	       rp;
    IPTR    	    	       retval;

    retval = DoSuperMethodA(cl, obj, (Msg)msg);
    if (retval)
    {
#if 0
        InitRastPort(&rp);
        SetFont(&rp,_font(obj));

        DeinitRastPort(&rp);
#endif
        data->levelbgpen = ObtainBestPen(_screen(obj)->ViewPort.ColorMap,
                                         0x4b4b4b4b,
                                         0x39393939,
                                         0x93939393,
                                         OBP_FailIfBad, FALSE,
                                         OBP_Precision, PRECISION_GUI,
                                         TAG_DONE);
    }

    return retval;
}
Ejemplo n.º 3
0
// Get border pen
void GetPatternBorder(PatternData *pattern,struct Screen *screen,ULONG border_col)
{
	// Do nothing under 37
	if (((struct Library *)GfxBase)->lib_Version<39) return;

	// Free existing border pen
	if (pattern->border_pen!=0)
	{
		if (pattern->border_pen==-1)
			pattern->border_pen=0;
		ReleasePen(screen->ViewPort.ColorMap,pattern->border_pen);
		pattern->border_pen=0;
	}

	// Want a border pen?
	if (border_col&ENVBF_USE_COLOUR)
	{
		// Try to allocate pen
		if ((pattern->border_pen=
			ObtainBestPen(
				screen->ViewPort.ColorMap,
				ENVBF_COL_R_GET(border_col)<<24,
				ENVBF_COL_G_GET(border_col)<<24,
				ENVBF_COL_B_GET(border_col)<<24,
				OBP_Precision,PRECISION_IMAGE,
				TAG_END))==0)
			pattern->border_pen=-1;
		else
		if (pattern->border_pen==-1)
			pattern->border_pen=0;
	}
}
Ejemplo n.º 4
0
/*
    The following cases apply:

    Make black transparent
    Make white transparent
    Make any color transparent
    Make background transparent
 */
PERROR OpenGUI(FRAME *frame, struct Objects *o, struct Values *v, struct PPTBase *PPTBase)
{
    struct Library *BGUIBase = PPTBase->lb_BGUI;
    struct Screen *scr = PPTBase->g->maindisp->scr;
    struct Library *ColorWheelBase = o->ColorWheelBase;
    struct GfxBase *GfxBase = PPTBase->lb_Gfx;
    struct IntuitionBase *IntuitionBase = PPTBase->lb_Intuition;
    BOOL   V39 = FALSE;
    struct ColorWheelRGB rgb;
    struct ColorWheelHSB hsb;

    sprintf(o->wtitle, MYNAME ": %s", frame->name );

    if( PPTBase->lb_Gfx->LibNode.lib_Version >= 39 ) {
        int i;

        V39 = TRUE;
        rgb.cw_Red   = 0;
        rgb.cw_Green = 0;
        rgb.cw_Blue  = 0;
        ConvertRGBToHSB( &rgb, &hsb );

        for( i = 0; i < GRADCOLORS; i++ ) {
            hsb.cw_Brightness = (ULONG)0xffffffff - (((ULONG)0xffffffff / GRADCOLORS ) * i );
            ConvertHSBToRGB( &hsb, &rgb );
            if( -1 == (o->pens[i] = ObtainBestPen( scr->ViewPort.ColorMap,
                                                  rgb.cw_Red, rgb.cw_Green, rgb.cw_Blue,
                                                  TAG_DONE ) ) ) {
                break;
            }
        }
        o->pens[i] = ~0;
        o->numpens = i;

        o->Gradient = ExternalObject,
            GA_ID,          GID_GRADIENTSLIDER,
            EXT_MinWidth,   10,
            EXT_MinHeight,  10,
            EXT_ClassID,    "gradientslider.gadget",
            EXT_NoRebuild,  TRUE,
            GRAD_PenArray,  o->pens,
            PGA_Freedom,    LORIENT_VERT,
        EndObject;

        if( o->Gradient )
            GetAttr( EXT_Object, o->Gradient, (ULONG *) &o->RealGradient );
    }

    o->Win = WindowObject,
        WINDOW_Screen,      scr,
        WINDOW_Title,       o->wtitle,
        WINDOW_ScreenTitle, "Transparency: Click on the image to choose a color",
        v->window.Height ? TAG_IGNORE : TAG_SKIP, 1,
        WINDOW_Bounds,      &v->window,

        WINDOW_ScaleWidth,  30,
        WINDOW_NoBufferRP,  TRUE,
        WINDOW_MenuStrip,   mymenus,
        // WINDOW_HelpFile,    "Docs/effects.guide",
        // WINDOW_HelpNode,    "Transparency",
        // WINDOW_HelpText,    infoblurb,
        WINDOW_CloseOnEsc,  TRUE,
        WINDOW_MasterGroup,
            VGroupObject, Spacing(4), HOffset(6), VOffset(4),
                StartMember,
                    HGroupObject, Spacing(6),
                        StartMember,
                            VGroupObject, Spacing(4),
                                StartMember,
                                    InfoObject,
                                        INFO_TextFormat, ISEQ_C "Please, do select\n"
                                                         "which color should be\n"
                                                         "transparent:",
                                        INFO_MinLines, 3,
                                        ButtonFrame, FRM_Flags, FRF_RECESSED,
                                    EndObject,
                                    LGO_NoAlign, TRUE,
                                EndMember,
                                VarSpace(25),
                                StartMember,
                                    VGroupObject,
                                        StartMember,
                                            HGroupObject, Spacing(3),
                                                StartMember,
                                                    o->Red = SliderObject,
                                                        GA_ID, GID_RED,
                                                        Label("Red"), Place(PLACE_LEFT),
                                                        SLIDER_Min, 0,
                                                        SLIDER_Max, 255,
                                                        SLIDER_Level, v->r,
                                                    EndObject,
                                                EndMember,
                                                StartMember,
                                                    o->RedI = StringObject,
                                                        GA_ID, GID_REDI,
                                                        STRINGA_MinCharsVisible,4,
                                                        STRINGA_MaxChars, 3,
                                                        STRINGA_IntegerMin, 0,
                                                        STRINGA_IntegerMax, 255,
                                                        STRINGA_LongVal, v->r,
                                                    EndObject, Weight(1),
                                                EndMember,
                                            EndObject, FixMinHeight,
                                        EndMember,
                                        StartMember,
                                            HGroupObject, Spacing(3),
                                                StartMember,
                                                    o->Green = SliderObject,
                                                        GA_ID, GID_GREEN,
                                                        Label("Green"), Place(PLACE_LEFT),
                                                        SLIDER_Min, 0,
                                                        SLIDER_Max, 255,
                                                        SLIDER_Level, v->g,
                                                    EndObject,
                                                EndMember,
                                                StartMember,
                                                    o->GreenI = StringObject,
                                                        GA_ID, GID_GREENI,
                                                        STRINGA_MinCharsVisible,4,
                                                        STRINGA_MaxChars, 3,
                                                        STRINGA_IntegerMin, 0,
                                                        STRINGA_IntegerMax, 255,
                                                        STRINGA_LongVal, v->g,
                                                    EndObject, Weight(1),
                                                EndMember,
                                            EndObject, FixMinHeight,
                                        EndMember,
                                        StartMember,
                                            HGroupObject, Spacing(3),
                                                StartMember,
                                                    o->Blue = SliderObject,
                                                        GA_ID, GID_BLUE,
                                                        Label("Blue"), Place(PLACE_LEFT),
                                                        SLIDER_Min, 0,
                                                        SLIDER_Max, 255,
                                                        SLIDER_Level, v->b,
                                                    EndObject,
                                                EndMember,
                                                StartMember,
                                                    o->BlueI = StringObject,
                                                        GA_ID, GID_BLUEI,
                                                        STRINGA_MinCharsVisible,4,
                                                        STRINGA_MaxChars, 3,
                                                        STRINGA_IntegerMin, 0,
                                                        STRINGA_IntegerMax, 255,
                                                        STRINGA_LongVal, v->b,
                                                    EndObject, Weight(1),
                                                EndMember,
                                            EndObject,  FixMinHeight,
                                        EndMember,
                                     EndObject,
                                EndMember,
                                VarSpace(25),
                            EndObject,  LGO_NoAlign, TRUE,
                        EndMember,
                        (V39) ? TAG_IGNORE : TAG_SKIP, 2,
                        StartMember,
                            o->Wheel = ExternalObject,
                                EXT_MinWidth,           30,
                                EXT_MinHeight,          30,
                                EXT_ClassID,            "colorwheel.gadget",
                                WHEEL_Screen,           scr,
                                /*
                                **      Pass a pointer to the "real" gradient slider
                                **      here.
                                **/
                                WHEEL_GradientSlider,   o->RealGradient,
                                WHEEL_Red,              v->r * 0x01010101,
                                WHEEL_Green,            v->g * 0x01010101,
                                WHEEL_Blue,             v->b * 0x01010101,
                                GA_FollowMouse,         TRUE,
                                GA_ID,                  GID_WHEEL,
                                /*
                                **      These attributes of the colorwheel are
                                **      tracked and reset to the object after
                                **      it has been rebuild. This way the current
                                **      colorwheel internals will not be lost
                                **      after the object is re-build.
                                **/
                                EXT_TrackAttr,          WHEEL_Red,
                                EXT_TrackAttr,          WHEEL_Green,
                                EXT_TrackAttr,          WHEEL_Blue,
                                EXT_TrackAttr,          WHEEL_Hue,
                                EXT_TrackAttr,          WHEEL_Saturation,
                                EXT_TrackAttr,          WHEEL_Brightness,
                            EndObject,
                        EndMember,
                        (V39) ? TAG_IGNORE : TAG_SKIP, 3,
                        StartMember,
                            o->Gradient, FixWidth(20),
                        EndMember,
                    EndObject, LGO_NoAlign, TRUE,
                EndMember,
                StartMember,
                    HGroupObject,
                        StartMember,
                            o->Trans = SliderObject,
                                GA_ID, GID_TRANSPARENCY,
                                Label("Transparency:"), Place(PLACE_LEFT),
                                SLIDER_Min, 0,
                                SLIDER_Max, 255,
                                SLIDER_Level, v->transp,
                            EndObject,
                        EndMember,
                        StartMember,
                            o->TransI = StringObject,
                                GA_ID, GID_TRANSPARENCYI,
                                STRINGA_MinCharsVisible,4,
                                STRINGA_MaxChars, 3,
                                STRINGA_IntegerMin, 0,
                                STRINGA_IntegerMax, 255,
                                STRINGA_LongVal, v->transp,
                            EndObject, Weight(1),
                        EndMember,
                    EndObject, FixMinHeight,
                EndMember,
                StartMember,
                    HGroupObject, NormalSpacing,
                        StartMember,
                            o->All = CheckBoxObject,
                                GA_ID, GID_ALL,
                                Label("All colors?"),
                                GA_Selected, (v->mode == MODE_ALL) ? TRUE : FALSE,
                            EndObject, Weight(1),
                        EndMember,
                        StartMember,
                            o->Tolerance = SliderObject,
                                GA_ID, GID_TOLERANCE,
                                Label("Tolerance:"), Place(PLACE_LEFT),
                                SLIDER_Min, 0,
                                SLIDER_Max, 255,
                                SLIDER_Level, v->tolerance,
                            EndObject,
                        EndMember,
                        StartMember,
                            o->ToleranceI = StringObject,
                                GA_ID, GID_TOLERANCEI,
                                STRINGA_MinCharsVisible, 4,
                                STRINGA_MaxChars, 3,
                                STRINGA_IntegerMin, 0,
                                STRINGA_IntegerMax, 255,
                                STRINGA_LongVal, v->tolerance,
                            EndObject, Weight(1),
                        EndMember,
                    EndObject, FixMinHeight,
                EndMember,
                StartMember,
                    HorizSeparator,
                EndMember,
                StartMember,
                    HGroupObject,
                        StartMember,
                            ButtonObject,
                                GA_ID, GID_OK,
                                Label("OK"), Place(PLACE_IN),
                            EndObject,
                        EndMember,
                        VarSpace(DEFAULT_WEIGHT/2),
                        StartMember,
                            ButtonObject,
                                GA_ID, GID_CANCEL,
                                Label("Cancel"), Place(PLACE_IN),
                            EndObject,
                        EndMember,
                    EndObject, FixMinHeight,
                EndMember,
            EndObject,
    EndObject;

    if( o->Win ) {

        /*
         *  Attach the gadgets unto each other
         */

        AddMap( o->Trans, o->TransI, dpcol_sl2int );
        AddMap( o->TransI,o->Trans,  dpcol_int2sl );
        AddMap( o->Red, o->RedI, dpcol_sl2int );
        AddMap( o->RedI,o->Red,  dpcol_int2sl );
        AddMap( o->Green, o->GreenI, dpcol_sl2int );
        AddMap( o->GreenI,o->Green,  dpcol_int2sl );
        AddMap( o->Blue, o->BlueI, dpcol_sl2int );
        AddMap( o->BlueI,o->Blue,  dpcol_int2sl );
        AddMap( o->Tolerance, o->ToleranceI, dpcol_sl2int );
        AddMap( o->ToleranceI,o->Tolerance,  dpcol_int2sl );

        AddCondit( o->All, o->Red, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        AddCondit( o->All, o->RedI, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        AddCondit( o->All, o->Green, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        AddCondit( o->All, o->GreenI, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        AddCondit( o->All, o->Blue, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        AddCondit( o->All, o->BlueI, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        AddCondit( o->All, o->ToleranceI, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        AddCondit( o->All, o->Tolerance, GA_Selected, FALSE,
                   GA_Disabled, FALSE, GA_Disabled, TRUE );
        if(V39) {
            AddCondit( o->All, o->Wheel, GA_Selected, FALSE,
                       GA_Disabled, FALSE, GA_Disabled, TRUE );
            AddCondit( o->All, o->Gradient, GA_Selected, FALSE,
                       GA_Disabled, FALSE, GA_Disabled, TRUE );
        }

        if( o->win = WindowOpen(o->Win) ) {
            /* This sets the other gadgets disabled or enabled */
            SetGadgetAttrs( (struct Gadget *)o->All, o->win, NULL,
                            GA_Selected, (v->mode == MODE_ALL) ? TRUE : FALSE, TAG_DONE );
        } else {
            DisposeObject(o->Win);
        }
    }

    return (BOOL)(o->win ? PERR_OK : PERR_WINDOWOPEN);
}