Exec_stat MCVideoClip::getprop(uint4 parid, Properties which, MCExecPoint &ep, Boolean effective) { switch (which) { case P_DONT_REFRESH: ep.setboolean(getflag(F_DONT_REFRESH)); break; case P_FRAME_RATE: if (flags & F_FRAME_RATE) ep.setint(framerate); else ep.clear(); break; case P_SCALE: ep.setnvalue(scale); break; case P_SIZE: ep.setint(size); break; case P_TEXT: { MCString s((const char *)frames, size); ep.setsvalue(s); } break; default: return MCObject::getprop(parid, which, ep, effective); } return ES_NORMAL; }
Exec_stat MCEPS::getprop_legacy(uint4 parid, Properties which, MCExecPoint& ep, Boolean effective) { switch (which) { #ifdef /* MCEPS::getprop */ LEGACY_EXEC case P_SIZE: ep.setint(size); break; case P_ANGLE: ep.setr8(angle, ep.getnffw(), ep.getnftrailing(), ep.getnfforce()); break; case P_POSTSCRIPT: ep.setsvalue(postscript); break; case P_PROLOG: ep.setsvalue(prolog); break; case P_RETAIN_IMAGE: ep.setboolean(getflag(F_RETAIN_IMAGE)); break; case P_RETAIN_POSTSCRIPT: ep.setboolean(getflag(F_RETAIN_POSTSCRIPT)); break; case P_SCALE_INDEPENDENTLY: ep.setboolean(getflag(F_SCALE_INDEPENDENTLY)); break; case P_BOUNDING_RECT: ep.setrectangle(tx, ty, tx + ex, ty + ey); break; case P_SCALE: case P_X_SCALE: ep.setr8(xscale, ep.getnffw(), ep.getnftrailing(), ep.getnfforce()); break; case P_Y_SCALE: ep.setr8(yscale, ep.getnffw(), ep.getnftrailing(), ep.getnfforce()); break; case P_X_OFFSET: ep.setint(tx); break; case P_Y_OFFSET: ep.setint(ty); break; case P_X_EXTENT: ep.setint(ex); break; case P_Y_EXTENT: ep.setint(ey); break; case P_CURRENT_PAGE: ep.setint(MCU_max(curpage, 1)); break; case P_PAGE_COUNT: ep.setint(MCU_max(pagecount, 1)); break; #endif /* MCEPS::getprop */ default: return MCControl::getprop_legacy(parid, which, ep, effective); } return ES_NORMAL; }
Exec_stat MCF_unparsetextatts(Properties which, MCExecPoint &ep, uint4 flags, const char *name, uint2 height, uint2 size, uint2 style) { switch (which) { case P_TEXT_ALIGN: switch (flags & F_ALIGNMENT) { case F_ALIGN_LEFT: ep.setstaticcstring(MCleftstring); break; case F_ALIGN_CENTER: ep.setstaticcstring(MCcenterstring); break; case F_ALIGN_RIGHT: ep.setstaticcstring(MCrightstring); break; case F_ALIGN_JUSTIFY: ep.setstaticcstring(MCjustifystring); break; } break; case P_TEXT_FONT: ep.setsvalue(name); break; case P_TEXT_HEIGHT: ep.setint(height); break; case P_TEXT_SIZE: ep.setint(size); break; case P_TEXT_STYLE: { if (style == FA_DEFAULT_STYLE) { ep.setstaticcstring(MCplainstring); return ES_NORMAL; } uint32_t j; j = 0; ep.clear(); if (MCF_getweightint(style) != MCFW_MEDIUM) ep.concatcstring(MCF_getweightstring(style), EC_COMMA, j++ == 0); if (style & FA_ITALIC || style & FA_OBLIQUE) ep.concatcstring(MCF_getslantlongstring(style), EC_COMMA, j++ == 0); if (style & FA_BOX) ep.concatcstring(MCboxstring, EC_COMMA, j++ == 0); if (style & FA_3D_BOX) ep.concatcstring(MCthreedboxstring, EC_COMMA, j++ == 0); if (style & FA_UNDERLINE) ep.concatcstring(MCunderlinestring, EC_COMMA, j++ == 0); if (style & FA_STRIKEOUT) ep.concatcstring(MCstrikeoutstring, EC_COMMA, j++ == 0); if (style & FA_LINK) ep.concatcstring(MClinkstring, EC_COMMA, j++ == 0); if (MCF_getexpandint(style) != FE_NORMAL) ep.concatcstring(MCF_getexpandstring(style), EC_COMMA, j++ == 0); } break; default: break; } return ES_NORMAL; }
Exec_stat MCDispatch::getprop(uint4 parid, Properties which, MCExecPoint &ep, Boolean effective) { switch (which) { #ifdef /* MCDispatch::getprop */ LEGACY_EXEC case P_BACK_PIXEL: ep.setint(MCscreen->background_pixel.pixel & 0xFFFFFF); return ES_NORMAL; case P_TOP_PIXEL: ep.setint(MCscreen->white_pixel.pixel & 0xFFFFFF); return ES_NORMAL; case P_HILITE_PIXEL: case P_FORE_PIXEL: case P_BORDER_PIXEL: case P_BOTTOM_PIXEL: case P_SHADOW_PIXEL: case P_FOCUS_PIXEL: ep.setint(MCscreen->black_pixel.pixel & 0xFFFFFF); return ES_NORMAL; case P_BACK_COLOR: case P_HILITE_COLOR: ep.setstaticcstring("white"); return ES_NORMAL; case P_FORE_COLOR: case P_BORDER_COLOR: case P_TOP_COLOR: case P_BOTTOM_COLOR: case P_SHADOW_COLOR: case P_FOCUS_COLOR: ep.setstaticcstring("black"); return ES_NORMAL; case P_FORE_PATTERN: case P_BACK_PATTERN: case P_HILITE_PATTERN: case P_BORDER_PATTERN: case P_TOP_PATTERN: case P_BOTTOM_PATTERN: case P_SHADOW_PATTERN: case P_FOCUS_PATTERN: ep.clear(); return ES_NORMAL; case P_TEXT_ALIGN: ep.setstaticcstring(MCleftstring); return ES_NORMAL; case P_TEXT_FONT: ep.setstaticcstring(DEFAULT_TEXT_FONT); return ES_NORMAL; case P_TEXT_HEIGHT: ep.setint(heightfromsize(DEFAULT_TEXT_SIZE)); return ES_NORMAL; case P_TEXT_SIZE: ep.setint(DEFAULT_TEXT_SIZE); return ES_NORMAL; case P_TEXT_STYLE: ep.setstaticcstring(MCplainstring); return ES_NORMAL; #endif /* MCDispatch::getprop */ default: MCeerror->add(EE_OBJECT_GETNOPROP, 0, 0); return ES_ERROR; } }
Exec_stat MCAudioClip::getprop(uint4 parid, Properties which, MCExecPoint &ep, Boolean effective) { switch (which) { #ifdef /* MCAudioClip::getprop */ LEGACY_EXEC case P_SIZE: ep.setint(size); break; case P_PLAY_DESTINATION: case P_PLAY_LOUDNESS: if (this == MCtemplateaudio) { extern bool MCSystemGetPlayLoudness(uint2& r_loudness); #ifdef _MOBILE if (MCSystemGetPlayLoudness(loudness)) #else if (false) #endif ; else if (!supported) loudness = 0; else { #if defined _WINDOWS if (hwaveout == NULL) { WAVEFORMATEX pwfx; pwfx.wFormatTag = WAVE_FORMAT_PCM; pwfx.nChannels = 1; pwfx.nSamplesPerSec = 22050; pwfx.nAvgBytesPerSec = 22050; pwfx.nBlockAlign = 1; pwfx.wBitsPerSample = 8; pwfx.cbSize = 0; if (waveOutOpen(&hwaveout, WAVE_MAPPER, &pwfx, 0, 0, CALLBACK_NULL | WAVE_ALLOWSYNC) == MMSYSERR_NOERROR) { DWORD v; waveOutGetVolume(hwaveout, &v); loudness = MCU_min((uint2)((v & 0xFFFF) * 100 / 0xFFFF) + 1, 100); waveOutClose(hwaveout); hwaveout = NULL; } } #elif defined _MACOSX long volume; GetDefaultOutputVolume(&volume); loudness = (HiWord(volume) + LoWord(volume)) * 50 / 255; #elif defined TARGET_PLATFORM_LINUX if ( x11audio != NULL) loudness = x11audio -> getloudness(); #endif } } if (which == P_PLAY_DESTINATION) { if (flags & F_EXTERNAL) ep.setstaticcstring("external"); else ep.setstaticcstring("internal"); } else ep.setint(loudness); break; #endif /* MCAudioClip::getprop */ default: return MCObject::getprop(parid, which, ep, effective); } return ES_NORMAL; }