void draw_fullnumber(Plotter* plotter, Spot spot, int val) { plotter->fontsize((5 * cellsize) / 8); plotter->fmove(cellsize * spot.col, cellsize * (8 - spot.row)); plotter->fmoverel(((float)cellsize)/2, ((float)cellsize)/2); std::string str = str_of(val); plotter->alabel('c','c',str.c_str()); }
void draw_candidate(Plotter* plotter, Spot spot, int val) { //plotter->savestate(); /* plotter->fmove(cellsize * spot.col, cellsize * (8 - spot.row)); plotter->fscale(0.33333, 0.33333); plotter->fmoverel(cellsize * ((val - 1) % 3), cellsize * (2 - ((val - 1) / 3))); plotter->fmoverel(((float)cellsize)/2, ((float)cellsize)/2); */ plotter->fmove(cellsize * spot.col + candidatesize * ((val - 1) % 3), cellsize * (8 - spot.row) + candidatesize * (2 - ((val - 1) / 3))); plotter->fmoverel(((float)candidatesize)/2, ((float)candidatesize)/2); //plotter->fscale(0.33333, 0.33333); plotter->fontsize((cellsize) / 4); std::string str = str_of(val); plotter->alabel('c','c',str.c_str()); //plotter->restorestate(); }
streng *os2_directory( tsd_t *TSD, cparamboxptr parms ) { streng *result=NULL ; int ok=HOOK_GO_ON ; char *path; checkparam( parms, 0, 1 , "DIRECTORY" ) ; if (parms&&parms->value) { if (TSD->systeminfo->hooks & HOOK_MASK(HOOK_SETCWD)) ok = hookup_output( TSD, HOOK_SETCWD, parms->value ) ; if (ok==HOOK_GO_ON) { path = str_of( TSD, parms->value ) ; if (chdir( path ) ) { FreeTSD( path ) ; return nullstringptr() ; } FreeTSD( path ) ; } } /* * The remainder of this is for obtaining the current working directory... */ if (TSD->systeminfo->hooks & HOOK_MASK(HOOK_GETCWD)) ok = hookup_input( TSD, HOOK_GETCWD, &result ) ; if (ok==HOOK_GO_ON) { result = Str_makeTSD( REXX_PATH_MAX ); my_fullpath( result->value, "." ); result->len = strlen( result->value ); } return result; }
PFN wrapper_get_addr( const tsd_t *TSD, const struct library *lptr, const streng *name ) { PFN addr; handle_type handle=(handle_type)lptr->handle; char *funcname ; #if defined(DYNAMIC_WIN32) char LoadError[256]; char *entryname; unsigned u; char c; #endif #if defined(DYNAMIC_OS2) char *entryname; unsigned u; char c; ULONG ordinal; APIRET rc=0L; #endif #if defined(DYNAMIC_BEOS) status_t rc=0; #endif #if defined(DYNAMIC_STATIC) int rc=0; #endif #if defined(MODULES_NEED_USCORE) streng *us_func; #endif funcname = str_of( TSD, name ) ; #if defined(DYNAMIC_STATIC) rc = static_dlsym( handle, funcname,(void **)&addr ); if ( rc != 0 ) { char buf[150]; sprintf(buf,"static_dlsym() failed with %d looking for %s", rc, funcname ); set_err_message(TSD, buf, "" ) ; addr = NULL; } #elif defined(DYNAMIC_DLOPEN) # if defined(MODULES_NEED_USCORE) /* * Some platforms need to have an underscore prepended to the function * name to be found in a loadable module. */ FreeTSD( funcname ); us_func = Str_makeTSD( Str_len( name ) + 1 ); memcpy( us_func->value, "_", 1 ); us_func->len = 1; Str_catTSD( us_func, name ); funcname = str_of( TSD, us_func ); Free_stringTSD( us_func ); # endif /* * Note, the following assignment is not allowed by ANSI, but SVR4.2 * includes it as an example, so it is probably safe in this context */ addr = (PFN)(dlsym( handle, funcname )) ; /* deal with, eg 'SysLoadFuncs' when the function is 'sysloadfuncs' or 'SYSLOADFUNCS' */ if (addr == NULL) { mem_upper( funcname, strlen( funcname ) ); addr = (PFN)(dlsym( handle, funcname )) ; if (addr == NULL) { mem_lower( funcname, strlen( funcname ) ); addr = (PFN)(dlsym( handle, funcname )) ; if (addr==NULL) set_err_message( TSD, "dlsym() failed: ", dlerror() ); } } #elif defined(DYNAMIC_HPSHLOAD) { long eaddr ; int rc; if (rc = shl_findsym( &handle, funcname, TYPE_PROCEDURE, &eaddr )) { mem_upper( funcname, strlen( funcname ) ); if (rc = shl_findsym( &handle, funcname, TYPE_PROCEDURE, &eaddr )) { mem_lower( funcname, strlen( funcname ) ); if (rc = shl_findsym( &handle, funcname, TYPE_PROCEDURE, &eaddr )) { addr = NULL ; set_err_message( TSD, "shl_findsym() failed: ", strerror(errno) ); } } } if (!rc) addr = (PFN)eaddr ; } #elif defined(DYNAMIC_AIXLOAD) addr = (PFN)handle ; #elif defined(DYNAMIC_OS2) if ( ( sscanf( funcname, "#%u%c", &u, &c ) == 1 ) && ( u != 0 ) ) { ordinal = (ULONG) u; entryname = NULL; } else { ordinal = 0L; entryname = funcname; } rc = DosQueryProcAddr(handle,ordinal,entryname,&addr); if (rc) { char buf[150]; sprintf(buf,"DosQueryProcAddr() failed with %lu looking for %.90s", (long) rc, funcname ); set_err_message(TSD, buf, "" ) ; } #elif defined(DYNAMIC_WIN32) /* 13/12/1999 JH moved cast, (HMODULE), from second parm to first. Removed * a compiler warning, */ if ( ( sscanf( funcname, "#%u%c", &u, &c ) == 1 ) && ( u != 0 ) && ( u <= 0xFFFF ) ) entryname = (char *) u; else entryname = funcname; addr = (PFN) GetProcAddress( (HMODULE) handle, entryname ); if ( ( addr == NULL ) && ( funcname == entryname ) ) { strlwr(funcname); addr = (PFN)GetProcAddress((HMODULE)handle,funcname); if (addr == NULL) { strupr(funcname); addr = (PFN)GetProcAddress((HMODULE)handle, funcname); } } if (addr == NULL) { char buf[150]; FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), MAKELANGID( LANG_NEUTRAL, SUBLANG_DEFAULT), LoadError, 256, NULL ); sprintf( buf, "Failed to find \"%s\" in external library: GetProcAddress() failed: ", funcname ); set_err_message( TSD, buf, LoadError ); } #elif defined(DYNAMIC_BEOS) rc = get_image_symbol(handle,funcname,B_SYMBOL_TYPE_TEXT,(void **)&addr); if (rc == B_BAD_IMAGE_ID) { char buf[150]; sprintf(buf,"get_image_symbol() failed with %d looking for %s", rc, funcname ); set_err_message( TSD, buf, "" ); addr = NULL; } #elif defined(DYNAMIC_SKYOS) fprintf(stderr,"%s %d:\n",__FILE__,__LINE__); addr = (PFN)GetDllFunction( handle, funcname ); if ( addr == NULL ) { char buf[150]; sprintf(buf,"GetDllFunction() failed looking for %s", funcname ); set_err_message( TSD, buf, "" ); addr = NULL; } fprintf(stderr,"%s %d:\n",__FILE__,__LINE__); #endif FreeTSD( funcname ); if (addr) return (PFN)addr ; else return NULL ; }