VOID KPrintF(CONST_STRPTR fmt, ...) { va_list args; va_start(args,fmt); RawDoFmt((STRPTR)fmt, args,(VOID (*)())RawPutC, NULL ); va_end(args); }
char* SprintfA( char *dst, const char *fmt, ULONG* args ) { return RawDoFmt( (UBYTE*) fmt, args, (void(*)(void)) &struffChar, dst ); }
void lib_DPrintF(struct SysBase *SysBase, char *fmt, ...) { if (!enabled) {RawIOInit(); enabled = TRUE;} va_list pvar; va_start(pvar, fmt); RawDoFmt(fmt, pvar, raw_printit, SysBase); // RawDoFmt(fmt, pvar, printit, NULL); va_end(pvar); }
Object *CreateGUI(struct IClass *cl, Object *obj, struct ObjStore *os, struct DnetcLibrary *LibBase) { UBYTE about[512]; ULONG array[] = { (ULONG) LibBase->Version, LibBase->Library.lib_Version, LibBase->Library.lib_Revision }; //#define SysBase LibBase->MySysBase RawDoFmt( "\33cdistributed.net client - a product of distributed.net\n" "%s\n" "Copyright 1997-2011 distributed.net\n" "\n" "\n" "MorphOS client maintained by\n" "Harry Sintonen\n" "<*****@*****.**>\n" "\n" "\n" "MUI GUI module (v%ld.%ld) maintained by\n" "Ilkka Lehtoranta\n" "<*****@*****.**>", array, NULL, about); //#undef SysBase return (Object*)DoSuperNew(cl, obj, MUIA_Application_DiskObject, (IPTR)LibBase->dobj, MUIA_Application_Commands, (IPTR)commands, MUIA_Application_Version, (IPTR)&VerString[1], MUIA_Application_Copyright, (IPTR)"distributed.net", MUIA_Application_Author, (IPTR)"Ilkka Lehtoranta", MUIA_Application_Base, (IPTR)"DNETC", MUIA_Application_UsedClasses, (IPTR)ClassList, MUIA_Application_Title, (IPTR)"dnetc", MUIA_Application_Description, (IPTR)"GUI for distributed.net client", MUIA_Application_Window, (IPTR)(os->wnd = MUI_NewObject(MUIC_Window, MUIA_Window_Title, (IPTR)"distributed.net client", MUIA_Window_ID, MAKE_ID('M','A','I','N'), MUIA_Window_Width, MUIV_Window_Width_Visible(55), MUIA_Window_Height, MUIV_Window_Height_Visible(45), MUIA_Window_Menustrip, (IPTR)MUI_MakeObject(MUIO_MenustripNM, (IPTR)&Menus, 0), MUIA_Window_RootObject, (IPTR)MUI_NewObject(MUIC_Group, MUIA_Group_Child, (IPTR)(os->lst = NewObject(LibBase->ListMCC->mcc_Class, NULL, MUIA_Background, MUII_ReadListBack, MUIA_Frame, MUIV_Frame_ReadList, MUIA_CycleChain, TRUE, TAG_END)), TAG_END), TAG_END)), MUIA_Application_Window, (IPTR)(os->req = MUI_NewObject(MUIC_Aboutbox, MUIA_Aboutbox_Credits, (IPTR)about, TAG_END)), TAG_END); }
ULONG SPrintf( char *format, char *target, ULONG *args ) { struct SPrintfStream s; s.Target = target; RawDoFmt( format, args, ENTRY( SPrintf_DoChar ), &s); return( s.Target - target ); }
static VOID sdcmd_log(struct sdcmd *sd, int level, const char *format, ...) { static char buffer[1024]; const ULONG m68k_string_sprintf = 0x16c04e75; if (level > DebugLevel) return; RawDoFmt(format, &format+1, (VOID_FUNC)&m68k_string_sprintf, buffer); Printf("sdcmd: %s\n", buffer); }
void inform(const char *fmt, ...) { static char msg[1024]; va_list args; va_start( args, fmt ); RawDoFmt( fmt, args, (APTR)fmtfunc, msg); va_end( args ); PutStr( msg ); }
int STDARGS snprintf(STRPTR buf,int size,STRPTR fmt,...) { struct stream s; s.buf = buf; s.size = size; s.counter = 0; s.stop = 0; RawDoFmt(fmt,&fmt+1,(APTR)snprintfStuff,&s); return s.counter-1; }
static void PrintToString(char *buffer, size_t length, const char *format, ...) { va_list args; int i = 0; void OutputToString(char c asm("d0"), char *buffer asm("a3")) { if (i < length - 1) buffer[i++] = c; } va_start(args, format); RawDoFmt(format, args, (void (*)())OutputToString, buffer); va_end(args); buffer[i] = '\0'; }
int snprintf(STRPTR buf,int size,STRPTR fmt,...) { struct stream s; va_list va; va_start(va,fmt); s.buf = buf; s.size = size; s.counter = 0; s.stop = 0; RawDoFmt(fmt,va->overflow_arg_area,(APTR)&snprintfStuffTrap,&s); va_end(va); return s.counter-1; }
LONG VSNPrintf(STRPTR outbuf, LONG size, CONST_STRPTR fmt, va_list args) { long rc = 0; if((size > (long)sizeof(char)) && (outbuf != NULL)) { struct RawDoFmtStream s; s.Buffer = outbuf; s.Size = size; RawDoFmt( fmt, (APTR)args, (void (*)())RawDoFmtChar, (APTR)&s); if((rc = ( size - s.Size )) != size) --rc; } return(rc); }
ASM void stuffChar( REG(d0, UBYTE in),REG(a3, char **stream)){ #else ASM void stuffChar( REG(d0) UBYTE in,REG(a3) char **stream){ #endif stream[0]++; stream[0][-1]=in; } #ifndef __amigaos4__ void mysprintf(struct CamdBase *CamdBase,char *string,char *fmt,...){ void *start=&fmt+1; // You should change your proto-file, if there is a warning about const. CONST_STRPTR string2=string; RawDoFmt( fmt, start, (VOID_FUNC)stuffChar, (APTR)&string2 ); }
void SerialPrint(const char *format, ...) { va_list args; va_start(args, format); RawDoFmt(format, args, (void (*)())SerialPut, NULL); va_end(args); }
void KPutStr(CONST_STRPTR format) { RawDoFmt(format, NULL, (void (*)())RAWFMTFUNC_SERIAL, NULL); }
int sprintf(char *buf, const char *fmt,...) { RawDoFmt((STRPTR) fmt, (STRPTR *) & fmt + 1, (void (*)()) SR_CopyFunc, buf); return 1; }
VOID SPrintf( char *target, const char *format, ...) { RawDoFmt( format, (APTR)&(((ULONG *)&format)[1]), _SPutC, &target); }
IPTR GTText__GM_RENDER(Class *cl, struct Gadget *g, struct gpRender *msg) { UWORD *pens = msg->gpr_GInfo->gi_DrInfo->dri_Pens; UBYTE textbuf[256], *str; struct TextData *data = INST_DATA(cl, g); WORD left, left2, top, width, height, numchars, tlength; struct TextFont *oldfont; struct RastPort *rp = msg->gpr_RPort; EnterFunc(bug("Text::Render()\n")); left = g->LeftEdge; top = g->TopEdge; width = g->Width; height = g->Height; if (msg->gpr_Redraw == GREDRAW_REDRAW) { if (data->frame) { DrawImageState(msg->gpr_RPort, (struct Image *)data->frame, left, top, IDS_NORMAL, msg->gpr_GInfo->gi_DrInfo); } renderlabel(GadToolsBase, g, msg->gpr_RPort, data->labelplace); } if (data->toprint || (data->gadgetkind != TEXT_KIND)) { /* preserve font */ oldfont = rp->Font; SetFont(rp, data->font); str = textbuf; if (data->gadgetkind == TEXT_KIND) { strncpy(str, (char *)data->toprint, sizeof(textbuf)); textbuf[sizeof(textbuf) - 1] = '\0'; } else /* NUMERIC_KIND or label of SLIDER_KIND */ { RawDoFmt(data->format, &(data->toprint), (VOID_FUNC)AROS_ASMSYMNAME(puttostr), &str); } D(bug("Text formatted into: %s\n", textbuf)); numchars = strlen(textbuf); if (data->flags & TEXTF_BORDER) { left += VBORDER + 1; top += HBORDER + 1; width = g->Width - (VBORDER + 1) * 2; height = g->Height - (HBORDER + 1) * 2; } if (data->flags & TEXTF_CLIPPED) { struct TextExtent te; /* See how many chars fits into the display area */ numchars = TextFit(rp, textbuf, numchars, &te, NULL, 1, width, g->Height); } tlength = TextLength(rp, textbuf, numchars); left2 = left; switch (data->justification) { case GTJ_LEFT: break; case GTJ_RIGHT: left2 += (width - tlength); break; case GTJ_CENTER: left2 += ((width - tlength) / 2); break; } /* Render text */ D(bug("Rendering text of lenghth %d at (%d, %d)\n", numchars, left, top)); SetABPenDrMd(rp, pens[data->backpen], pens[data->backpen], JAM2); RectFill(rp, left, top, left + width - 1, top + height - 1); SetAPen(rp, pens[data->frontpen]); Move(rp, left2, top + ((height - data->font->tf_YSize) / 2) + data->font->tf_Baseline); Text(rp, textbuf, numchars); SetFont(rp, oldfont); } /* if (data->toprint || (data->gadgetkind != TEXT_KIND)) */ ReturnInt("Text::Render", IPTR, 0); }
void KPrintFArgs( UBYTE* fmt, ULONG* args ) { RawDoFmt( fmt, args, (void(*)(void)) rawputchar_m68k, SysBase ); }