本文整理汇总了C++中PsychRequireNumInputArgs函数的典型用法代码示例。如果您正苦于以下问题:C++ PsychRequireNumInputArgs函数的具体用法?C++ PsychRequireNumInputArgs怎么用?C++ PsychRequireNumInputArgs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PsychRequireNumInputArgs函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: SCREENTextStyle
PsychError SCREENTextStyle(void)
{
psych_bool doSetStyle, foundFont;
PsychWindowRecordType *windowRecord;
int oldTextStyle, newTextStyle;
#if PSYCH_SYSTEM == PSYCH_OSX
PsychFontStructType *fontRecord;
#endif
//all subfunctions should have these two lines.
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check for valid number of arguments
PsychErrorExit(PsychRequireNumInputArgs(1));
PsychErrorExit(PsychCapNumInputArgs(2));
PsychErrorExit(PsychCapNumOutputArgs(1));
//Get the window record
PsychAllocInWindowRecordArg(kPsychUseDefaultArgPosition, TRUE, &windowRecord);
//Save the old text size value and return it.
oldTextStyle=windowRecord->textAttributes.textStyle;
PsychCopyOutDoubleArg(1, FALSE, (double)oldTextStyle);
//Fetch and set the new size if it is specified.
doSetStyle= PsychCopyInIntegerArg(2, FALSE, &newTextStyle);
if (doSetStyle) {
windowRecord->textAttributes.needsRebuild|=(windowRecord->textAttributes.textStyle != newTextStyle) ? TRUE : FALSE;
windowRecord->textAttributes.textStyle=newTextStyle;
#if PSYCH_SYSTEM == PSYCH_OSX
// Need to update font name and number from changed style on OS/X:
foundFont = PsychGetFontRecordFromFontFamilyNameAndFontStyle((char*) windowRecord->textAttributes.textFontName, windowRecord->textAttributes.textStyle, &fontRecord);
if (foundFont) {
strncpy((char*) windowRecord->textAttributes.textFontName, (const char*) fontRecord->fontFMFamilyName, 255);
windowRecord->textAttributes.textFontNumber= fontRecord->fontNumber;
}
else {
// Failed! Revert to old setting:
windowRecord->textAttributes.textStyle = oldTextStyle;
}
#endif
}
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:49,代码来源:SCREENTextStyle.c
示例2: SCREENglPushMatrix
PsychError SCREENglPushMatrix(void)
{
// If you change useString then also change the corresponding synopsis string in ScreenSynopsis.c
static char useString[] = "Screen('glPushMatrix', windowPtr);";
static char synopsisString[] = "Store a backup copy of active current OpenGL matrix on the matrix stack for later reuse. "
"The capacity of the matrix backup stack is limited, typically not more than 27 slots. For each call to glPushMatrix "
"you need to call glPopMatrix at the appropriate place to avoid overflowing the stack. "
"See <http://www.opengl.org/documentation/red_book_1.0/> Chapter 4 for detailed information.";
static char seeAlsoString[] = "";
PsychWindowRecordType *windowRecord;
GLint stack_cur, stack_max;
//all sub functions should have these two lines
PsychPushHelp(useString, synopsisString,seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check for superfluous arguments
PsychErrorExit(PsychCapNumInputArgs(1)); // The maximum number of inputs
PsychErrorExit(PsychRequireNumInputArgs(1)); // Number of required inputs.
PsychErrorExit(PsychCapNumOutputArgs(0)); // The maximum number of outputs
//get the window record from the window record argument and get info from the window record
PsychAllocInWindowRecordArg(kPsychUseDefaultArgPosition, TRUE, &windowRecord);
// Switch to windows OpenGL context:
PsychSetGLContext(windowRecord);
glMatrixMode(GL_MODELVIEW);
// Compare current fill level of matrix stack with maximum level: We reserve five
// stack-slots for PTB internal use, so at least that needs to be free before push.
glGetIntegerv(GL_MAX_MODELVIEW_STACK_DEPTH, &stack_max);
glGetIntegerv(GL_MODELVIEW_STACK_DEPTH, &stack_cur);
if (stack_max - stack_cur < 6) {
printf("\nCouldn't push OpenGL-Modelview matrix because matrix stack is full! The most common reason is\n");
printf("forgetting to call glPopMatrix a matching number of times... \n");
printf("The maximum number of pushable matrices is %i -- Please check your code.\n", stack_max - 5);
PsychErrorExitMsg(PsychError_user, "Too many calls to glPushMatrix. Imbalance?");
}
// Execute push op:
glPushMatrix();
PsychTestForGLErrors();
//All psychfunctions require this.
return(PsychError_none);
}
开发者ID:AlanFreeman,项目名称:Psychtoolbox-3,代码行数:49,代码来源:SCREENglMatrixFunctionWrappers.c
示例3: SCREENAddAudioBufferToMovie
PsychError SCREENAddAudioBufferToMovie(void)
{
static char useString[] = "Screen('AddAudioBufferToMovie', moviePtr, audioBuffer);";
static char synopsisString[] =
"Add a buffer filled with audio data samples to movie 'moviePtr'.\n"
"This function is only supported with the GStreamer based movie writing functions. "
"It doesn't work on MS-Windows with Matlab versions before R2007a and it doesn't work "
"on Apple OS/X yet.\n"
"The movie must have been created in 'CreateMovie' with an options string that "
"enables writing of an audio track into the movie, otherwise this function will fail.\n"
"You enable writing of audio tracks by adding the keyword 'AddAudioTrack' to the options string.\n"
"Alternatively, if your options string is a gst-launch style pipeline description, it must contain "
"one pipeline element with a name option of 'name=ptbaudioappsrc'.\n"
"'audioBuffer' must be 'numChannels' rows by 'numSamples' columns double matrix of audio data. "
"Each row encodes one audio channel, each column element in a row encodes a sample. "
"E.g., a 2-by-48000 matrix would encode 48000 samples for a two channel stereo sound track.\n"
"Sample values must lie in the range between -1.0 and +1.0.\n"
"The audio buffer is converted into a movie specific sound format and then appended to "
"the audio samples already stored in the audio track.\n"
"\n";
static char seeAlsoString[] = "FinalizeMovie AddFrameToMovie CloseMovie PlayMovie GetMovieImage GetMovieTimeIndex SetMovieTimeIndex";
int moviehandle = -1;
int m, n, p;
double* buffer;
// All sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);};
PsychErrorExit(PsychCapNumInputArgs(2)); // Max. 2 input args.
PsychErrorExit(PsychRequireNumInputArgs(2)); // Min. 2 input args required.
PsychErrorExit(PsychCapNumOutputArgs(0)); // Max. 0 output args.
// Get movie handle:
PsychCopyInIntegerArg(1, kPsychArgRequired, &moviehandle);
// And audio date buffer:
PsychAllocInDoubleMatArg(2, kPsychArgRequired, &m, &n, &p, &buffer);
if (p!=1 || m < 1 || n < 1) PsychErrorExitMsg(PsychError_user, "Invalid audioBuffer provided. Must be a 2D matrix with at least one row and at least one column!");
// Pass audio data to movie writing engine:
PsychAddAudioBufferToMovie(moviehandle, m, n, buffer);
return(PsychError_none);
}
开发者ID:theOfficialJuan,项目名称:Psychtoolbox-3,代码行数:47,代码来源:SCREENOpenMovie.c
示例4: SCREENGetMovieTimeIndex
PsychError SCREENGetMovieTimeIndex(void)
{
int moviehandle = -1;
// All sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);};
PsychErrorExit(PsychCapNumInputArgs(1)); // Max. 1 input args.
PsychErrorExit(PsychRequireNumInputArgs(1)); // Min. 1 input args required.
PsychErrorExit(PsychCapNumOutputArgs(1)); // One output arg.
// Get the movie handle:
PsychCopyInIntegerArg(1, TRUE, &moviehandle);
if (moviehandle==-1) {
PsychErrorExitMsg(PsychError_user, "GetMovieTimeIndex called without valid handle to a movie object.");
}
// Retrieve and return current movie time index:
PsychCopyOutDoubleArg(1, TRUE, PsychGetMovieTimeIndex(moviehandle));
// Ready!
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:47,代码来源:SCREENGetMovieTimeIndex.c
示例5: SCREENWindowSize
PsychError SCREENWindowSize(void)
{
PsychWindowRecordType *windowRecord;
int screenNumber;
double rectWidth, rectHeight;
long fbWidth, fbHeight;
int realFBSize = 0;
//all sub functions should have these two lines
PsychPushHelp(useString, synopsisString,seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check for superfluous arguments
PsychErrorExit(PsychCapNumInputArgs(2)); //The maximum number of inputs
PsychErrorExit(PsychRequireNumInputArgs(1)); //Insist that the argument be present.
PsychErrorExit(PsychCapNumOutputArgs(2)); //The maximum number of outputs
// Get optional 'realFBSize' flag: Defaults to zero.
PsychCopyInIntegerArg(2, FALSE, &realFBSize);
if(PsychIsScreenNumberArg(1)){
PsychCopyInScreenNumberArg(1, TRUE, &screenNumber);
if (realFBSize) {
// Physical size in pixels:
PsychGetScreenPixelSize(screenNumber, &fbWidth, &fbHeight);
}
else {
// Logical size in points:
PsychGetScreenSize(screenNumber, &fbWidth, &fbHeight);
}
PsychCopyOutDoubleArg(1, kPsychArgOptional, fbWidth);
PsychCopyOutDoubleArg(2, kPsychArgOptional, fbHeight);
}else if(PsychIsWindowIndexArg(1)){
PsychAllocInWindowRecordArg(1, TRUE, &windowRecord);
PsychOSProcessEvents(windowRecord, 0);
rectWidth=PsychGetWidthFromRect((realFBSize) ? windowRecord->rect : windowRecord->clientrect);
rectHeight=PsychGetHeightFromRect((realFBSize) ? windowRecord->rect : windowRecord->clientrect);
PsychCopyOutDoubleArg(1, kPsychArgOptional, rectWidth);
PsychCopyOutDoubleArg(2, kPsychArgOptional, rectHeight);
}else
PsychErrorExitMsg(PsychError_user, "Argument was recognized as neither a window index nor a screen pointer");
return(PsychError_none);
}
开发者ID:ChiNasa511,项目名称:Psychtoolbox-3,代码行数:46,代码来源:SCREENWindowSize.c
示例6: SCREENglPopMatrix
PsychError SCREENglPopMatrix(void)
{
// If you change useString then also change the corresponding synopsis string in ScreenSynopsis.c
static char useString[] = "Screen('glPopMatrix', windowPtr);";
static char synopsisString[] = "Restore an OpenGL matrix by fetching it from the matrix stack. "
"See <http://www.opengl.org/documentation/red_book_1.0/> Chapter 4 for detailed information.";
static char seeAlsoString[] = "";
PsychWindowRecordType *windowRecord;
GLint stack_cur;
//all sub functions should have these two lines
PsychPushHelp(useString, synopsisString,seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check for superfluous arguments
PsychErrorExit(PsychCapNumInputArgs(1)); // The maximum number of inputs
PsychErrorExit(PsychRequireNumInputArgs(1)); // Number of required inputs.
PsychErrorExit(PsychCapNumOutputArgs(0)); // The maximum number of outputs
//get the window record from the window record argument and get info from the window record
PsychAllocInWindowRecordArg(kPsychUseDefaultArgPosition, TRUE, &windowRecord);
// Switch to windows OpenGL context:
PsychSetGLContext(windowRecord);
glMatrixMode(GL_MODELVIEW);
// Compare current fill level of matrix stack with maximum level: We reserve five
// stack-slots for PTB internal use, so at least that needs to be free before push.
glGetIntegerv(GL_MODELVIEW_STACK_DEPTH, &stack_cur);
if (stack_cur < 2) {
printf("\nCouldn't pop matrix from top of OpenGL-Modelview matrix stack, because matrix stack is empty! The most common reason is\n");
printf("that you tried to call glPopMatrix more often than you called glPushMatrix -- Please check your code.\n");
PsychErrorExitMsg(PsychError_user, "Too many calls to glPopMatrix. Imbalance?!?");
}
// Execute pop operation:
glPopMatrix();
PsychTestForGLErrors();
//All psychfunctions require this.
return(PsychError_none);
}
开发者ID:AlanFreeman,项目名称:Psychtoolbox-3,代码行数:45,代码来源:SCREENglMatrixFunctionWrappers.c
示例7: SCREENTextFont
PsychError SCREENTextFont(void)
{
boolean doSetByName, doSetByNumber, foundFont;
PsychWindowRecordType *windowRecord;
PsychFontStructType *fontRecord;
int oldTextFontNumber, inputTextFontNumber;
char *oldTextFontName, *inputTextFontName;
//all subfunctions should have these two lines.
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check for valid number of arguments
PsychErrorExit(PsychRequireNumInputArgs(1));
PsychErrorExit(PsychCapNumInputArgs(2));
PsychErrorExit(PsychCapNumOutputArgs(2));
//Get the window record
PsychAllocInWindowRecordArg(kPsychUseDefaultArgPosition, TRUE, &windowRecord);
//Save the old text size value and return it.
oldTextFontNumber=windowRecord->textAttributes.textFontNumber;
PsychCopyOutDoubleArg(2, FALSE, (double)oldTextFontNumber);
oldTextFontName=windowRecord->textAttributes.textFontName;
PsychCopyOutCharArg(1, FALSE, oldTextFontName);
//Fetch and set the new font if specified by name or number
PsychCheckInputArgType(2, kPsychArgOptional, PsychArgType_double | PsychArgType_char); //if the argument is there check that it is the right type.
doSetByNumber= PsychCopyInIntegerArg(2, kPsychArgAnything, &inputTextFontNumber);
doSetByName= PsychAllocInCharArg(2, kPsychArgAnything, &inputTextFontName);
foundFont=0;
if(doSetByNumber)
foundFont=PsychGetFontRecordFromFontNumber(inputTextFontNumber, &fontRecord);
if(doSetByName)
foundFont=PsychGetFontRecordFromFontFamilyNameAndFontStyle(inputTextFontName, windowRecord->textAttributes.textStyle, &fontRecord);
if(foundFont){
strncpy(windowRecord->textAttributes.textFontName, fontRecord->fontFMFamilyName, 255);
windowRecord->textAttributes.textFontNumber= fontRecord->fontNumber;
}
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:45,代码来源:SCREENTextFont.c
示例8: SCREENStartVideoCapture
PsychError SCREENStartVideoCapture(void)
{
int capturehandle = -1;
double captureFPS = 25;
int dropframes = 0;
double starttime = 0;
// All sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);};
PsychErrorExit(PsychCapNumInputArgs(4)); // Max. 4 input args.
PsychErrorExit(PsychRequireNumInputArgs(1)); // Min. 1 input args required.
PsychErrorExit(PsychCapNumOutputArgs(2)); // Max. 2 output args.
// Get the handle:
PsychCopyInIntegerArg(1, TRUE, &capturehandle);
if (capturehandle==-1) {
PsychErrorExitMsg(PsychError_user, "StartVideoCapture called without valid handle to a capture object.");
}
PsychCopyInDoubleArg(2, FALSE, &captureFPS);
if (captureFPS<=0) {
PsychErrorExitMsg(PsychError_user, "StartVideoCapture called with a negative capture rate.");
}
PsychCopyInIntegerArg(3, FALSE, &dropframes);
if (dropframes<0) {
PsychErrorExitMsg(PsychError_user, "StartVideoCapture called with invalid (negative) dropframes - argument.");
}
PsychCopyInDoubleArg(4, FALSE, &starttime);
if (starttime<0) {
PsychErrorExitMsg(PsychError_user, "StartVideoCapture called with invalid (negative) startAt - argument.");
}
// Try to start capture:
captureFPS = (double) PsychVideoCaptureRate(capturehandle, captureFPS, dropframes, &starttime);
PsychCopyOutDoubleArg(1, FALSE, captureFPS);
PsychCopyOutDoubleArg(2, FALSE, starttime);
// Ready!
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:44,代码来源:SCREENStartVideoCapture.c
示例9: SCREENPlayMovie
PsychError SCREENPlayMovie(void)
{
int moviehandle = -1;
double rate = 0;
int loop = 0;
double sndvolume = 1;
double dropped = 0;
// All sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);};
PsychErrorExit(PsychCapNumInputArgs(4)); // Max. 4 input args.
PsychErrorExit(PsychRequireNumInputArgs(2)); // Min. 2 input args required.
PsychErrorExit(PsychCapNumOutputArgs(1)); // Max. 1 output args.
// Get the movie handle:
PsychCopyInIntegerArg(1, TRUE, &moviehandle);
if (moviehandle==-1) {
PsychErrorExitMsg(PsychError_user, "PlayMovie called without valid handle to a movie object.");
}
// Get the requested playback rate.
PsychCopyInDoubleArg(2, TRUE, &rate);
// Get the 'loop' flag: If zero, we don't loop, otherwise we loop.
PsychCopyInIntegerArg(3, FALSE, &loop);
// Get the requested sound volume. Defaults to 1 == Full blast!
PsychCopyInDoubleArg(4, FALSE, &sndvolume);
if (sndvolume<0) sndvolume = 0;
if (sndvolume>1) sndvolume = 1;
// Start playback via low-level routines:
dropped = (double) PsychPlaybackRate(moviehandle, rate, loop, sndvolume);
// Return optional count of dropped frames:
PsychCopyOutDoubleArg(1, FALSE, dropped);
// Ready!
return(PsychError_none);
}
开发者ID:AlanFreeman,项目名称:Psychtoolbox-3,代码行数:43,代码来源:SCREENPlayMovie.c
示例10: SCREENglScale
PsychError SCREENglScale(void)
{
// If you change useString then also change the corresponding synopsis string in ScreenSynopsis.c
static char useString[] = "Screen('glScale', windowPtr, sx, sy [, sz]);";
// 1 2 3 4
static char synopsisString[] = "Define a scale transform by (sx, sy, sz) in space, relative to the enclosing reference frame."
"See <http://www.opengl.org/documentation/red_book_1.0/> Chapter 4 for detailed information.";
static char seeAlsoString[] = "";
PsychWindowRecordType *windowRecord;
double sx, sy, sz;
// Default to non-scale, aka scale by 1.0:
sx=sy=sz=1.0f;
//all sub functions should have these two lines
PsychPushHelp(useString, synopsisString,seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check for superfluous arguments
PsychErrorExit(PsychCapNumInputArgs(4)); // The maximum number of inputs
PsychErrorExit(PsychRequireNumInputArgs(3)); // Number of required inputs.
PsychErrorExit(PsychCapNumOutputArgs(0)); // The maximum number of outputs
//get the window record from the window record argument and get info from the window record
PsychAllocInWindowRecordArg(kPsychUseDefaultArgPosition, TRUE, &windowRecord);
// Fetch translation vector:
PsychCopyInDoubleArg(2, FALSE, &sx);
PsychCopyInDoubleArg(3, FALSE, &sy);
PsychCopyInDoubleArg(4, FALSE, &sz);
// Switch to windows OpenGL context:
PsychSetGLContext(windowRecord);
// Execute it:
glScaled(sx, sy, sz);
PsychTestForGLErrors();
//All psychfunctions require this.
return(PsychError_none);
}
开发者ID:AlanFreeman,项目名称:Psychtoolbox-3,代码行数:42,代码来源:SCREENglMatrixFunctionWrappers.c
示例11: IOPORTCloseAll
// Close all ports of all devices -- Effectively a shutdown.
PsychError IOPORTCloseAll(void)
{
static char useString[] = "IOPort('CloseAll');";
static char synopsisString[] =
"Close all open I/O port devices, regardless of type. Release all ressources.\n";
static char seeAlsoString[] = "'Close'";
// Setup online help:
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none); };
PsychErrorExit(PsychCapNumInputArgs(0)); // The maximum number of inputs
PsychErrorExit(PsychRequireNumInputArgs(0)); // The required number of inputs
PsychErrorExit(PsychCapNumOutputArgs(0)); // The maximum number of outputs
// Close all ports by calling our shutdown function:
PsychExitIOPort();
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:21,代码来源:IOPort.c
示例12: SCREENSetVideoCaptureParameter
PsychError SCREENSetVideoCaptureParameter(void)
{
int capturehandle = -1;
double value = DBL_MAX;
double oldvalue;
char* pname = NULL;
// All sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);};
PsychErrorExit(PsychCapNumInputArgs(3)); // Max. 3 input args.
PsychErrorExit(PsychRequireNumInputArgs(2)); // Min. 2 input args required.
PsychErrorExit(PsychCapNumOutputArgs(1)); // One output arg.
// Get the device handle:
PsychCopyInIntegerArg(1, TRUE, &capturehandle);
if (capturehandle==-1) {
PsychErrorExitMsg(PsychError_user, "SetVideoCaptureParameter called without valid handle to a capture object.");
}
// Copy in parameter name string:
PsychAllocInCharArg(2, TRUE, &pname);
if (pname == NULL) {
PsychErrorExitMsg(PsychError_user, "SetVideoCaptureParameter called without a parameter name string.");
}
// Copy in (optional) value for parameter:
PsychCopyInDoubleArg(3, FALSE, &value);
// Try to set parameter:
oldvalue = PsychVideoCaptureSetParameter(capturehandle, pname, value);
// Return old value of capture parameter:
if (strstr(pname, "Get")==NULL) {
PsychCopyOutDoubleArg(1, FALSE, oldvalue);
}
// Ready!
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:41,代码来源:SCREENSetVideoCaptureParameter.c
示例13: SCREENVideoCaptureDevices
PsychError SCREENVideoCaptureDevices(void)
{
int engineId;
// All sub functions should have these two lines
PsychPushHelp(useString2, synopsisString2, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);};
PsychErrorExit(PsychCapNumInputArgs(1)); // Max. 1 input args.
PsychErrorExit(PsychRequireNumInputArgs(0)); // Min. 1 input args required.
PsychErrorExit(PsychCapNumOutputArgs(1)); // Max. 1 output args.
engineId = PsychPrefStateGet_VideoCaptureEngine();
PsychCopyInIntegerArg(1, FALSE, &engineId);
// Do actual enumeration for the given engineId:
PsychEnumerateVideoSources(engineId, 1);
// Ready!
return(PsychError_none);
}
开发者ID:rennis250,项目名称:Psychtoolbox-3,代码行数:21,代码来源:SCREENOpenVideoCapture.c
示例14: SCREENDisplaySize
PsychError SCREENDisplaySize(void)
{
static char useString[] = "[width, height]=Screen('DisplaySize', ScreenNumber);";
static char synopsisString[] =
"Return the physical width and height of the output display device associated with 'ScreenNumber'. "
"The size is returned in units of millimeters as reported by the display device itself to the OS. "
"On MacOS-X, if Extended Display Identification Data (EDID) for the display device is not "
"available, the size is estimated by OS-X based on the device width and height in pixels, with an "
"assumed resolution of 2.835 pixels/mm or 72 DPI, a reasonable guess for displays predating "
"EDID support. On M$-Windows and GNU/Linux, the behaviour in case of missing EDID data is "
"unknown. This function returns a width and height of zero if physical display size can't be "
"queried from the operating system. Please handle the returned information with great caution. "
"It is unclear how accurate the EDID data for typical monitors or video beamers really is. This "
"information could be pretty unreliable and therefore misleading!";
static char seeAlsoString[] = "";
int screenNumber, Width, Height;
//all sub functions should have these two lines
PsychPushHelp(useString, synopsisString,seeAlsoString);
if(PsychIsGiveHelp()) {
PsychGiveHelp();
return(PsychError_none);
};
//check for superfluous arguments
PsychErrorExit(PsychCapNumInputArgs(1)); //The maximum number of inputs
PsychErrorExit(PsychRequireNumInputArgs(1)); //Insist that the argument be present.
PsychErrorExit(PsychCapNumOutputArgs(2)); //The maximum number of outputs
// Retrieve screen number:
PsychCopyInScreenNumberArg(1, TRUE, &screenNumber);
// Query physical size of this screen in millimeters:
PsychGetDisplaySize(screenNumber, &Width, &Height);
// Return it:
PsychCopyOutDoubleArg(1, kPsychArgOptional, (double) Width);
PsychCopyOutDoubleArg(2, kPsychArgOptional, (double) Height);
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:39,代码来源:SCREENWindowSize.c
示例15: EyelinkImageModeDisplay
PsychError EyelinkImageModeDisplay(void)
{
int iResult = 0;
// Add help strings
PsychPushHelp(useString, synopsisString, seeAlsoString);
// Output help if asked
if(PsychIsGiveHelp()) {
PsychGiveHelp();
return(PsychError_none);
}
// Check arguments
PsychErrorExit(PsychCapNumInputArgs(0));
PsychErrorExit(PsychRequireNumInputArgs(0));
PsychErrorExit(PsychCapNumOutputArgs(1));
// Verify eyelink is up and running
EyelinkSystemIsConnected();
EyelinkSystemIsInitialized();
if(0)
{
// NOTE: Enno's OSX version added this eyelink call. Not sure if we want it or not.
eyelink_start_setup();
iResult = image_mode_display();
}
else
{
//mexPrintf("EyelinkImageModeDisplay is not yet implemented.\n");
iResult=0;
}
// Assign output arg if available
PsychCopyOutDoubleArg(1, FALSE, iResult);
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:39,代码来源:EyelinkImageModeDisplay.c
示例16: SCREENTextMode
PsychError SCREENTextMode(void)
{
PsychTextDrawingModeType newCopyMode;
Str255 oldCopyModeName;
char *newCopyModeName;
psych_bool doSetMode;
PsychWindowRecordType *windowRecord;
psych_bool nameError;
//all subfunctions should have these two lines.
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check for valid number of arguments
PsychErrorExit(PsychRequireNumInputArgs(1));
PsychErrorExit(PsychCapNumInputArgs(2));
PsychErrorExit(PsychCapNumOutputArgs(1));
//Get the window record
PsychAllocInWindowRecordArg(kPsychUseDefaultArgPosition, TRUE, &windowRecord);
//Get the old copy mode & its name
PsychGetTextDrawingModeNameFromTextDrawingModeConstant(oldCopyModeName, 255, windowRecord->textAttributes.textMode);
PsychCopyOutCharArg(1, FALSE, oldCopyModeName);
//Get the copy new mode string
doSetMode= PsychAllocInCharArg(2, FALSE, &newCopyModeName);
if(doSetMode){
nameError=PsychGetTextDrawingModeConstantFromTextDrawingModeName(&newCopyMode, newCopyModeName);
if(nameError)
PsychErrorExitMsg(PsychError_user, "Invalid text copy mode. See Screen('TextModes') for a list of allowable modes");
windowRecord->textAttributes.needsRebuild|=(windowRecord->textAttributes.textMode != newCopyMode) ? TRUE : FALSE;
windowRecord->textAttributes.textMode=newCopyMode;
}
return(PsychError_none);
}
开发者ID:BackupTheBerlios,项目名称:osxptb-svn,代码行数:38,代码来源:SCREENTextMode.c
示例17: IOPORTPurge
PsychError IOPORTPurge(void)
{
static char useString[] = "IOPort('Purge', handle);";
static char synopsisString[] = "Purge all data queued for reading or writing from/to device specified by 'handle'. All unread or unwritten data is discarded.";
static char seeAlsoString[] = "'Flush'";
int handle;
// Setup online help:
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none); };
PsychErrorExit(PsychCapNumInputArgs(1)); // The maximum number of inputs
PsychErrorExit(PsychRequireNumInputArgs(1)); // The required number of inputs
PsychErrorExit(PsychCapNumOutputArgs(1)); // The maximum number of outputs
// Get required port handle:
PsychCopyInIntegerArg(1, kPsychArgRequired, &handle);
PsychPurgeIOPort(handle);
return(PsychError_none);
}
开发者ID:zacklb,项目名称:Psychtoolbox-3,代码行数:23,代码来源:IOPort.c
示例18: EyelinkTimeOffset
PsychError EyelinkTimeOffset(void)
{
double offset;
//all sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check to see if the user supplied superfluous arguments
PsychErrorExit(PsychCapNumInputArgs(0));
PsychErrorExit(PsychRequireNumInputArgs(0));
PsychErrorExit(PsychCapNumOutputArgs(1));
// Verify eyelink is up and running
EyelinkSystemIsConnected();
EyelinkSystemIsInitialized();
offset = eyelink_double_usec_offset()/1000;
PsychCopyOutDoubleArg(1, FALSE, offset);
return(PsychError_none);
}
开发者ID:AlanFreeman,项目名称:Psychtoolbox-3,代码行数:23,代码来源:EyelinkTimeOffset.c
示例19: SCREENCloseVideoCapture
PsychError SCREENCloseVideoCapture(void)
{
int capturehandle = -1;
// All sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);};
PsychErrorExit(PsychCapNumInputArgs(1)); // Max. 1 input args.
PsychErrorExit(PsychRequireNumInputArgs(1)); // Min. 1 input args required.
PsychErrorExit(PsychCapNumOutputArgs(0)); // No output args.
// Get the handle:
PsychCopyInIntegerArg(1, TRUE, &capturehandle);
if (capturehandle==-1) {
PsychErrorExitMsg(PsychError_user, "CloseVideoCapture called without valid handle to a capture object.");
}
// Try to delete the object, releasing all associated ressources:
PsychCloseVideoCaptureDevice(capturehandle);
// Ready!
return(PsychError_none);
}
开发者ID:AlanFreeman,项目名称:Psychtoolbox-3,代码行数:23,代码来源:SCREENCloseVideoCapture.c
示例20: EyelinkGetNextDataType
PsychError EyelinkGetNextDataType(void)
{
int type = 0;
//all sub functions should have these two lines
PsychPushHelp(useString, synopsisString, seeAlsoString);
if(PsychIsGiveHelp()){PsychGiveHelp();return(PsychError_none);};
//check to see if the user supplied superfluous arguments
PsychErrorExit(PsychCapNumInputArgs(0));
PsychErrorExit(PsychRequireNumInputArgs(0));
PsychErrorExit(PsychCapNumOutputArgs(1));
// Verify eyelink is up and running
EyelinkSystemIsConnected();
EyelinkSystemIsInitialized();
type = eyelink_get_next_data(NULL);
PsychCopyOutDoubleArg(1, TRUE, type);
return(PsychError_none);
}
开发者ID:AlanFreeman,项目名称:Psychtoolbox-3,代码行数:23,代码来源:EyelinkGetNextDataType.c
注:本文中的PsychRequireNumInputArgs函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论