|
PEBL 2.2
Psychology Experiment Building Language - Cross-platform psychological experiment development system
|
Functions | |
| std::string | ToUpper (const std::string &text) |
| std::string | ToLower (const std::string &text) |
| pDouble | StringToPDouble (const char *mystring) |
| pDouble | Log2 (pDouble val) |
| pInt | Round (pDouble val) |
| pDouble | Round (pDouble val, pInt prec) |
| pInt | Truncate (pDouble val) |
| Variant | Tokenize (const char *line, char separator) |
| PEBL_Keycode | TranslateString (const std::string &letters) |
| std::string | TranslateKeycode (const PEBL_Keycode key, int modkeys) |
| void | InitializeKeycodeLookups () |
| pDouble | RandomUniform () |
| pDouble | RandomNormal () |
| std::string | ShiftSwitch (int modkeys, std::string lower, std::string upper) |
| PEBLVideoMode | GetVideoMode (std::string modeline) |
| PEBLVideoDepth | GetVideoDepth (std::string depthline) |
| Variant | GetDirectoryListing (std::string path) |
| Variant | IsDirectory (std::string path) |
| Variant | FileExists (std::string path) |
| Variant | MakeDirectory (std::string path) |
| Variant | DeleteMyFile (std::string path) |
| Variant | GetHomeDirectory () |
| Variant | GetWorkingDirectory () |
| Variant | SetWorkingDirectory (std::string path) |
| const std::string | StripFile (const std::string &file) |
| const std::string | GetBaseFileName (const std::string &file) |
| Variant | LaunchFile (std::string file) |
| Variant | SystemCall (std::string path, std::string args) |
| bool | is_utf8 (const std::string str) |
| void | strrev (char *p) |
| void | strrev_utf8 (char *p) |
| std::string | strrev (std::string p) |
| std::string | strrev_utf8 (std::string p) |
| std::string | MD5File (const std::string &filename) |
| std::string | MD5String (const std::string &text) |
| void | CopyToClipboard (const std::string &text) |
| Variant | ExtractJSONObject (const std::string &text, int remaining, jsmntok_t **t, int start, int end) |
| Variant | ParseJSON (const std::string &text) |
| std::string | DetectScript (const std::string &text) |
| bool | IsRTLScript (const std::string &script) |
| std::string | GetFontForLanguageOrScript (const std::string &code, int fontType) |
| Variant | ResolvePropertyChain (Variant obj, const std::string &propertyChain) |
| void | SetPropertyChain (Variant obj, const std::string &propertyChain, Variant value) |
| void PEBLUtility::CopyToClipboard | ( | const std::string & | text | ) |
Definition at line 1523 of file PEBLUtility.cpp.
Referenced by PEBLString::CopyToClipboard().
| Variant PEBLUtility::DeleteMyFile | ( | std::string | path | ) |
Definition at line 1022 of file PEBLUtility.cpp.
Referenced by PEBLEnvironment::DeleteFile().
| std::string PEBLUtility::DetectScript | ( | const std::string & | text | ) |
Definition at line 1732 of file PEBLUtility.cpp.
References is_utf8().
Referenced by PEBLString::DetectTextScript(), PEBLString::GetFontForText(), PlatformFont::GetTextWidth(), PEBLString::IsRTL(), and PlatformFont::RenderText().
| Variant PEBLUtility::ExtractJSONObject | ( | const std::string & | text, |
| int | remaining, | ||
| jsmntok_t ** | t, | ||
| int | start, | ||
| int | end | ||
| ) |
Definition at line 1533 of file PEBLUtility.cpp.
References ExtractJSONObject(), JSMN_ARRAY, JSMN_OBJECT, JSMN_PRIMITIVE, JSMN_STRING, NULL, pDouble, pInt, PList::PushBack(), PCustomObject::SetProperty(), jsmntok_t::start, and StringToPDouble().
Referenced by ExtractJSONObject(), and ParseJSON().
| Variant PEBLUtility::FileExists | ( | std::string | path | ) |
Definition at line 910 of file PEBLUtility.cpp.
Referenced by PEBLEnvironment::FileExists(), PEBLStream::FileOpenWrite(), and main().
| const std::string PEBLUtility::GetBaseFileName | ( | const std::string & | file | ) |
Definition at line 424 of file PEBLUtility.cpp.
Referenced by PEBLInterpret().
| Variant PEBLUtility::GetDirectoryListing | ( | std::string | path | ) |
Definition at line 927 of file PEBLUtility.cpp.
References NULL, PList::PushBack(), and PError::SignalFatalError().
Referenced by PEBLEnvironment::GetDirectoryListing().
| std::string PEBLUtility::GetFontForLanguageOrScript | ( | const std::string & | code, |
| int | fontType | ||
| ) |
Definition at line 1811 of file PEBLUtility.cpp.
Referenced by PEBLString::GetFontForText(), and PEBLInterpret().
| Variant PEBLUtility::GetHomeDirectory | ( | ) |
Definition at line 1035 of file PEBLUtility.cpp.
References NULL, and PError::SignalFatalError().
Referenced by PEBLEnvironment::GetHomeDirectory().
| PEBLVideoDepth PEBLUtility::GetVideoDepth | ( | std::string | depthline | ) |
Definition at line 859 of file PEBLUtility.cpp.
References PVD_15, PVD_16, PVD_2, PVD_24, and PVD_32.
Referenced by PEBLInterpret().
| PEBLVideoMode PEBLUtility::GetVideoMode | ( | std::string | modeline | ) |
Definition at line 842 of file PEBLUtility.cpp.
References PVM_1024_768, PVM_1152_864, PVM_1280_1024, PVM_512_384, PVM_640_480, PVM_800_600, and PVM_960_720.
Referenced by PEBLInterpret().
| Variant PEBLUtility::GetWorkingDirectory | ( | ) |
Definition at line 1059 of file PEBLUtility.cpp.
References NULL.
Referenced by PEBLEnvironment::GetWorkingDirectory(), and main().
| void PEBLUtility::InitializeKeycodeLookups | ( | ) |
Definition at line 366 of file PEBLUtility.cpp.
References PEBL_KEYCODE_a.
Referenced by PlatformEnvironment::Initialize().
| bool PEBLUtility::is_utf8 | ( | const std::string | str | ) |
Definition at line 1258 of file PEBLUtility.cpp.
Referenced by PlatformFont::GetPosition(), PlatformFont::GetTextHeight(), PlatformFont::GetTextWidth(), and PlatformFont::RenderText().
| Variant PEBLUtility::IsDirectory | ( | std::string | path | ) |
Definition at line 885 of file PEBLUtility.cpp.
Referenced by PEBLEnvironment::IsDirectory().
| bool PEBLUtility::IsRTLScript | ( | const std::string & | script | ) |
Definition at line 1804 of file PEBLUtility.cpp.
Referenced by PlatformFont::GetTextWidth(), PEBLString::IsRTL(), and PlatformFont::RenderText().
| Variant PEBLUtility::LaunchFile | ( | std::string | file | ) |
Definition at line 1106 of file PEBLUtility.cpp.
References NULL.
Referenced by PEBLEnvironment::LaunchFile().
Definition at line 578 of file PEBLUtility.cpp.
References pDouble.
Referenced by PEBLMath::Log2().
| Variant PEBLUtility::MakeDirectory | ( | std::string | path | ) |
Definition at line 994 of file PEBLUtility.cpp.
References PError::SignalFatalError().
Referenced by PEBLEnvironment::MakeDirectory().
| std::string PEBLUtility::MD5File | ( | const std::string & | filename | ) |
Definition at line 1443 of file PEBLUtility.cpp.
References get_size_by_fd(), MAP_SHARED, md5(), mmap(), NULL, PROT_READ, and PError::SignalFatalError().
Referenced by PEBLStream::MD5File().
| std::string PEBLUtility::MD5String | ( | const std::string & | text | ) |
Definition at line 1517 of file PEBLUtility.cpp.
References md5().
Referenced by PEBLStream::MD5Sum().
| Variant PEBLUtility::ParseJSON | ( | const std::string & | text | ) |
Definition at line 1698 of file PEBLUtility.cpp.
References ExtractJSONObject(), jsmn_init(), JSMN_OBJECT, and jsmn_parse().
Referenced by PEBLStream::ParseJSON().
| pDouble PEBLUtility::RandomNormal | ( | ) |
It will return a floating- point number which is a sample from the N(0,1) distribution. Values are calculated using the Box-Mueller technique.
Definition at line 569 of file PEBLUtility.cpp.
Referenced by PEBLMath::RandomLogNormal(), and PEBLMath::RandomNormal().
| pDouble PEBLUtility::RandomUniform | ( | ) |
These functions are used frequently enough that it is good to have our own definition.
Definition at line 560 of file PEBLUtility.cpp.
References pDouble.
Referenced by PEventLoop::PEventLoop(), PEBLMath::Random(), PEBLMath::RandomBernoulli(), PEBLMath::RandomBinomial(), PEBLMath::RandomExponential(), PEBLMath::RandomLogistic(), and PEBLMath::RandomUniform().
Definition at line 1922 of file PEBLUtility.cpp.
References Variant::GetComplexData(), PComplexData::GetProperty(), NULL, ResolvePropertyChain(), and PError::SignalFatalError().
Referenced by Evaluator::Evaluate(), Evaluator::Evaluate1(), and ResolvePropertyChain().
Definition at line 589 of file PEBLUtility.cpp.
Referenced by PEventLoop::PEventLoop(), and PEBLMath::Round().
Definition at line 600 of file PEBLUtility.cpp.
| void PEBLUtility::SetPropertyChain | ( | Variant | obj, |
| const std::string & | propertyChain, | ||
| Variant | value | ||
| ) |
Definition at line 1968 of file PEBLUtility.cpp.
References Variant::GetComplexData(), PComplexData::GetProperty(), NULL, PComplexData::SetProperty(), SetPropertyChain(), and PError::SignalFatalError().
Referenced by Evaluator::Evaluate(), Evaluator::Evaluate1(), and SetPropertyChain().
| Variant PEBLUtility::SetWorkingDirectory | ( | std::string | path | ) |
Definition at line 1086 of file PEBLUtility.cpp.
References PError::SignalFatalError().
Referenced by PEBLEnvironment::SetWorkingDirectory().
| std::string PEBLUtility::ShiftSwitch | ( | int | modkeys, |
| std::string | lower, | ||
| std::string | upper | ||
| ) |
Definition at line 876 of file PEBLUtility.cpp.
References PEBLMOD_SHIFT.
Referenced by TranslateKeycode().
| pDouble PEBLUtility::StringToPDouble | ( | const char * | mystring | ) |
This does its best, with the available libraries, to convert a string to a long double.
Definition at line 549 of file PEBLUtility.cpp.
References pDouble.
Referenced by ExtractJSONObject(), and Variant::GetFloat().
| const std::string PEBLUtility::StripFile | ( | const std::string & | file | ) |
Definition at line 395 of file PEBLUtility.cpp.
Referenced by PEBLPath::Initialize(), main(), and PEBLInterpret().
| void PEBLUtility::strrev | ( | char * | p | ) |
Definition at line 1245 of file PEBLUtility.cpp.
References SWP.
Referenced by strrev_utf8().
| std::string PEBLUtility::strrev | ( | std::string | p | ) |
Definition at line 1366 of file PEBLUtility.cpp.
| void PEBLUtility::strrev_utf8 | ( | char * | p | ) |
Definition at line 1341 of file PEBLUtility.cpp.
Referenced by PlatformLabel::RenderText(), and PlatformTextBox::RenderText().
| std::string PEBLUtility::strrev_utf8 | ( | std::string | p | ) |
Definition at line 1374 of file PEBLUtility.cpp.
| Variant PEBLUtility::SystemCall | ( | std::string | path, |
| std::string | args | ||
| ) |
Definition at line 1159 of file PEBLUtility.cpp.
References NULL.
Referenced by PEBLInterpret(), and PEBLEnvironment::SystemCall().
| Variant PEBLUtility::Tokenize | ( | const char * | line, |
| char | separator | ||
| ) |
Definition at line 489 of file PEBLUtility.cpp.
References PList::PushBack().
Referenced by PEBLStream::FileReadTable(), and PEBLString::SplitString().
| std::string PEBLUtility::ToLower | ( | const std::string & | text | ) |
Definition at line 384 of file PEBLUtility.cpp.
Referenced by PEBLEnvironment::GetInput0(), TranslateKeycode(), and TranslateString().
| std::string PEBLUtility::ToUpper | ( | const std::string & | text | ) |
Definition at line 375 of file PEBLUtility.cpp.
Referenced by FunctionMap::AddFunction(), VariableMap::AddVariable(), FunctionMap::Erase(), VariableMap::Erase(), VariableMap::Exists(), Loader::FindFunctions(), FunctionMap::GetFunction(), PEBLObjectBase::GetProperty(), PCustomObject::GetProperty(), PEBLObjects::GetProperty(), Variant::GetVariableBaseName(), Variant::GetVariablePropertyName(), FunctionMap::IsFunction(), PEBLObjects::MakeTextBox(), PCustomObject::PrintProperties(), PEBLObjects::PropertyExists(), PEBLEnvironment::RegisterEvent(), VariableMap::RetrieveValue(), PColor::SetColorByName(), PCustomObject::SetProperty(), PEBLObjects::SetProperty(), TranslateKeycode(), and PEBLObjectBase::ValidateProperty().
| std::string PEBLUtility::TranslateKeycode | ( | const PEBL_Keycode | key, |
| int | modkeys | ||
| ) |
Definition at line 740 of file PEBLUtility.cpp.
References PEBL_KEYCODE_ANYKEY, PEBL_KEYCODE_BACKSPACE, PEBL_KEYCODE_CAPSLOCK, PEBL_KEYCODE_CLEAR, PEBL_KEYCODE_DOWN, PEBL_KEYCODE_END, PEBL_KEYCODE_ESCAPE, PEBL_KEYCODE_F1, PEBL_KEYCODE_F10, PEBL_KEYCODE_F11, PEBL_KEYCODE_F12, PEBL_KEYCODE_F2, PEBL_KEYCODE_F3, PEBL_KEYCODE_F4, PEBL_KEYCODE_F5, PEBL_KEYCODE_F6, PEBL_KEYCODE_F7, PEBL_KEYCODE_F8, PEBL_KEYCODE_F9, PEBL_KEYCODE_HELP, PEBL_KEYCODE_HOME, PEBL_KEYCODE_INSERT, PEBL_KEYCODE_KP_0, PEBL_KEYCODE_KP_1, PEBL_KEYCODE_KP_2, PEBL_KEYCODE_KP_3, PEBL_KEYCODE_KP_4, PEBL_KEYCODE_KP_5, PEBL_KEYCODE_KP_6, PEBL_KEYCODE_KP_7, PEBL_KEYCODE_KP_8, PEBL_KEYCODE_KP_9, PEBL_KEYCODE_KP_DIVIDE, PEBL_KEYCODE_KP_ENTER, PEBL_KEYCODE_KP_MINUS, PEBL_KEYCODE_KP_MULTIPLY, PEBL_KEYCODE_KP_PERIOD, PEBL_KEYCODE_KP_PLUS, PEBL_KEYCODE_LALT, PEBL_KEYCODE_LCTRL, PEBL_KEYCODE_LEFT, PEBL_KEYCODE_LSHIFT, PEBL_KEYCODE_MENU, PEBL_KEYCODE_MODE, PEBL_KEYCODE_NUMLOCK, PEBL_KEYCODE_PAGEDOWN, PEBL_KEYCODE_PAGEUP, PEBL_KEYCODE_PAUSE, PEBL_KEYCODE_POWER, PEBL_KEYCODE_RALT, PEBL_KEYCODE_RCTRL, PEBL_KEYCODE_RETURN, PEBL_KEYCODE_RETURN2, PEBL_KEYCODE_RIGHT, PEBL_KEYCODE_RSHIFT, PEBL_KEYCODE_SCROLLLOCK, PEBL_KEYCODE_SPACE, PEBL_KEYCODE_SYSREQ, PEBL_KEYCODE_TAB, PEBL_KEYCODE_UNDO, PEBL_KEYCODE_UNKNOWN, PEBL_KEYCODE_UP, ShiftSwitch(), ToLower(), and ToUpper().
Referenced by PEBLEnvironment::GetInput0(), PTextBox::HandleKeyPress(), PEBLEnvironment::IsAnyKeyDown(), PEvent::operator Variant(), PEBLEnvironment::StartEventLoop(), PKeyboard::TranslateKeyCode(), PEBLEnvironment::TranslateKeyCode(), PEBLEnvironment::WaitForAnyKeyDownWithTimeout(), PEBLEnvironment::WaitForAnyKeyPress(), PEBLEnvironment::WaitForAnyKeyPressWithTimeout(), PEBLEnvironment::WaitForKeyListDown(), PEBLEnvironment::WaitForKeyPress(), PEBLEnvironment::WaitForKeyRelease(), PEBLEnvironment::WaitForListKeyPress(), and PEBLEnvironment::WaitForListKeyPressWithTimeout().
| PEBL_Keycode PEBLUtility::TranslateString | ( | const std::string & | letters | ) |
Definition at line 628 of file PEBLUtility.cpp.
References PEBL_KEYCODE_ANYKEY, PEBL_KEYCODE_BACKSPACE, PEBL_KEYCODE_CAPSLOCK, PEBL_KEYCODE_DELETE, PEBL_KEYCODE_DOWN, PEBL_KEYCODE_END, PEBL_KEYCODE_ESCAPE, PEBL_KEYCODE_F1, PEBL_KEYCODE_F10, PEBL_KEYCODE_F11, PEBL_KEYCODE_F12, PEBL_KEYCODE_F2, PEBL_KEYCODE_F3, PEBL_KEYCODE_F4, PEBL_KEYCODE_F5, PEBL_KEYCODE_F6, PEBL_KEYCODE_F7, PEBL_KEYCODE_F8, PEBL_KEYCODE_F9, PEBL_KEYCODE_HOME, PEBL_KEYCODE_INSERT, PEBL_KEYCODE_KP_0, PEBL_KEYCODE_KP_1, PEBL_KEYCODE_KP_2, PEBL_KEYCODE_KP_3, PEBL_KEYCODE_KP_4, PEBL_KEYCODE_KP_5, PEBL_KEYCODE_KP_6, PEBL_KEYCODE_KP_7, PEBL_KEYCODE_KP_8, PEBL_KEYCODE_KP_9, PEBL_KEYCODE_KP_DIVIDE, PEBL_KEYCODE_KP_ENTER, PEBL_KEYCODE_KP_EQUALS, PEBL_KEYCODE_KP_MINUS, PEBL_KEYCODE_KP_MULTIPLY, PEBL_KEYCODE_KP_PERIOD, PEBL_KEYCODE_KP_PLUS, PEBL_KEYCODE_LALT, PEBL_KEYCODE_LCTRL, PEBL_KEYCODE_LEFT, PEBL_KEYCODE_LSHIFT, PEBL_KEYCODE_MODE, PEBL_KEYCODE_NUMLOCK, PEBL_KEYCODE_PAGEDOWN, PEBL_KEYCODE_PAGEUP, PEBL_KEYCODE_RALT, PEBL_KEYCODE_RCTRL, PEBL_KEYCODE_RETURN, PEBL_KEYCODE_RIGHT, PEBL_KEYCODE_RSHIFT, PEBL_KEYCODE_SCROLLLOCK, PEBL_KEYCODE_SPACE, PEBL_KEYCODE_UNKNOWN, PEBL_KEYCODE_UP, and ToLower().
Referenced by PEBLEnvironment::IsKeyDown(), PEBLEnvironment::IsKeyUp(), PEBLEnvironment::RegisterEvent(), PKeyboard::TranslateString(), PEBLEnvironment::TranslateString(), PEBLEnvironment::WaitForKeyDown(), PEBLEnvironment::WaitForKeyListDown(), PEBLEnvironment::WaitForKeyPress(), PEBLEnvironment::WaitForKeyRelease(), PEBLEnvironment::WaitForKeyUp(), PEBLEnvironment::WaitForListKeyPress(), and PEBLEnvironment::WaitForListKeyPressWithTimeout().
Definition at line 613 of file PEBLUtility.cpp.
References pDouble.
Referenced by PEBLMath::AbsFloor().