void gs_setminscreenlevels(gs_memory_t *mem, uint levels) { gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(mem); ctx->screen_min_screen_levels = levels; }
uint gs_currentminscreenlevels(gs_memory_t *mem) { gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(mem); return ctx->screen_min_screen_levels; }
void gs_setusewts(gs_memory_t *mem, bool use_wts) { gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(mem); ctx->screen_use_wts = use_wts; }
bool gs_currentusewts(gs_memory_t *mem) { gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(mem); return ctx->screen_use_wts; }
bool gs_currentaccuratescreens(gs_memory_t *mem) { gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(mem); return ctx->screen_accurate_screens; }
/* Set up for halftone sampling. */ int gs_screen_init(gs_screen_enum * penum, gs_state * pgs, gs_screen_halftone * phsp) { gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(pgs->memory); return gs_screen_init_accurate(penum, pgs, phsp, ctx->screen_accurate_screens); }
RELOC_PTRS_END /* Default AccurateScreens control */ void gs_setaccuratescreens(gs_memory_t *mem, bool accurate) { gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(mem); ctx->screen_accurate_screens = accurate; }
/* - realtime <int> */ static int zrealtime(i_ctx_t *i_ctx_p) { os_ptr op = osp; long secs_ns[2]; gs_lib_ctx_t *libctx = gs_lib_ctx_get_interp_instance(imemory); gp_get_realtime(secs_ns); secs_ns[1] -= libctx->real_time_0[1]; secs_ns[0] -= libctx->real_time_0[0]; push(1); make_int(op, secs_ns[0] * 1000 + secs_ns[1] / 1000000); return 0; }
int gs_screen_order_init_memory(gx_ht_order * porder, const gs_state * pgs, gs_screen_halftone * phsp, bool accurate, gs_memory_t * mem) { gs_matrix imat; ulong max_size = gx_ht_cache_default_bits_size(); int code; gs_lib_ctx_t *ctx = gs_lib_ctx_get_interp_instance(mem); if (phsp->frequency < 0.1) return_error(gs_error_rangecheck); gs_deviceinitialmatrix(gs_currentdevice(pgs), &imat); code = pick_cell_size(phsp, &imat, max_size, ctx->screen_min_screen_levels, accurate, &porder->params); if (code < 0) return code; gx_compute_cell_values(&porder->params); porder->screen_params.matrix = imat; porder->screen_params.max_size = max_size; return gs_screen_order_alloc(porder, mem); }
os_enumerate, gp_enumerate_files_next, gp_enumerate_files_close, os_get_params, iodev_no_put_params } }; /* ------ Initialization ------ */ init_proc(gs_iodev_init); /* check prototype */ int gs_iodev_init(gs_memory_t * mem) { /* Make writable copies of all IODevices. */ gx_io_device **table = gs_alloc_struct_array(mem, gx_io_device_table_count + 1, gx_io_device *, &st_io_device_ptr_element, "gs_iodev_init(table)"); gs_lib_ctx_t *libctx = gs_lib_ctx_get_interp_instance(mem); int i, j; int code = 0; if ((table == NULL) || (libctx == NULL)) return_error(gs_error_VMerror); for (i = 0; i < gx_io_device_table_count; ++i) { gx_io_device *iodev = gs_alloc_struct(mem, gx_io_device, &st_io_device, "gs_iodev_init(iodev)"); if (iodev == 0) goto fail; table[i] = iodev; memcpy(table[i], gx_io_device_table[i], sizeof(gx_io_device)); }