本文整理汇总了C++中callbacks函数的典型用法代码示例。如果您正苦于以下问题:C++ callbacks函数的具体用法?C++ callbacks怎么用?C++ callbacks使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了callbacks函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: GenerateCode
virtual std::string GenerateCode(gd::Instruction & instruction, gd::EventsCodeGenerator & codeGenerator, gd::EventsCodeGenerationContext & context)
{
std::string value1Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(value1Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[0].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || value1Code.empty()) value1Code = "0";
}
std::string value2Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(value2Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[2].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || value2Code.empty()) value2Code = "0";
}
std::string resultingBoolean = codeGenerator.GenerateBooleanFullName("conditionTrue", context)+".val";
if ( instruction.GetParameters()[1].GetPlainString() == "=" || instruction.GetParameters()[1].GetPlainString().empty() )
return resultingBoolean + " = ("+value1Code+" == "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == ">")
return resultingBoolean + " = ("+value1Code+" > "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "<")
return resultingBoolean + " = ("+value1Code+" < "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "<=")
return resultingBoolean + " = ("+value1Code+" <= "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == ">=")
return resultingBoolean + " = ("+value1Code+" >= "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "!=")
return resultingBoolean + " = ("+value1Code+" != "+value2Code+");\n";
return "";
};
开发者ID:Slulego,项目名称:GD,代码行数:33,代码来源:SceneExtension.cpp
示例2: callbacks
void Save_Widget::widget_update()
{
callbacks(false);
try
{
if (_plugin)
{
String tmp;
tmp = _plugin->option(
_plugin->options()[Save::COLOR_PROFILE_OPTION]);
tmp >> _options.color_profile;
tmp = _plugin->option(_plugin->options()[Save::FILM_PRINT_OPTION]);
tmp >> _options.film_print;
}
}
catch (String) {}
_color_profile_widget->set(_options.color_profile);
_black_widget->set(_options.film_print.black);
_white_widget->set(_options.film_print.white);
_gamma_widget->set(_options.film_print.gamma);
callbacks(true);
}
开发者ID:UIKit0,项目名称:djv,代码行数:25,代码来源:djv_cineon_save_widget.cpp
示例3: callbacks
void Save_Widget::widget_update()
{
callbacks(false);
try
{
if (_plugin)
{
String tmp;
tmp = _plugin->option(
_plugin->options()[Save::COLOR_PROFILE_OPTION]);
tmp >> _options.color_profile;
tmp = _plugin->option(_plugin->options()[Save::FILM_PRINT_OPTION]);
tmp >> _options.film_print;
tmp = _plugin->option(_plugin->options()[Save::VERSION_OPTION]);
tmp >> _options.version;
tmp = _plugin->option(_plugin->options()[Save::TYPE_OPTION]);
tmp >> _options.type;
tmp = _plugin->option(_plugin->options()[Save::ENDIAN_OPTION]);
tmp >> _options.endian;
}
}
catch (String) {}
_color_profile_widget->set(_options.color_profile);
_black_widget->set(_options.film_print.black);
_white_widget->set(_options.film_print.white);
_gamma_widget->set(_options.film_print.gamma);
_version_widget->set(_options.version);
_type_widget->set(_options.type);
_endian_widget->set(_options.endian);
callbacks(true);
}
开发者ID:UIKit0,项目名称:djv,代码行数:34,代码来源:djv_dpx_save_widget.cpp
示例4: GenerateCode
virtual std::string GenerateCode(gd::Instruction & instruction, gd::EventsCodeGenerator & codeGenerator, gd::EventsCodeGenerationContext & context)
{
std::string expressionCode;
{
gd::CallbacksForGeneratingExpressionCode callbacks(expressionCode, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[2].GetPlainString());
if (!parser.ParseStringExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || expressionCode.empty())
expressionCode = "\"\"";
}
std::string varGetter;
{
VariableCodeGenerationCallbacks callbacks(varGetter, codeGenerator, context, VariableCodeGenerationCallbacks::LAYOUT_VARIABLE);
gd::VariableParser parser(instruction.GetParameters()[0].GetPlainString());
if ( !parser.Parse(callbacks) )
varGetter = "runtimeScene.getVariables().get(\"\")";
}
std::string op = instruction.GetParameters()[1].GetPlainString();
if ( op == "=" )
return varGetter+".setString("+expressionCode+");\n";
else if ( op == "+" )
return varGetter+".concatenate("+expressionCode+");\n";
return "";
};
开发者ID:Slulego,项目名称:GD,代码行数:26,代码来源:VariablesExtension.cpp
示例5: callbacks
void Application_Message_Dialog::widget_update()
{
callbacks(false);
_widget->set(String_Util::join(_list, "\n"));
callbacks(true);
}
开发者ID:UIKit0,项目名称:djv,代码行数:8,代码来源:djv_application_message_dialog.cpp
示例6: wrap
static Wrapped wrap(CallbackArray<NbEvents>& callbacks, Func&& func)
{
callbacks[Idx] = std::unique_ptr<CallbackHandler<Func>>( new CallbackHandler<Func>( std::forward<Func>( func ) ) );
return [](void* opaque, Args... args) -> Ret {
auto boxed = BoxOpaque<NbEvents, Strategy>( opaque, std::forward<Args>( args )... );
assert(boxed.callbacks()[Idx] != nullptr );
auto cbHandler = static_cast<CallbackHandler<Func>*>( boxed.callbacks()[Idx].get() );
return cbHandler->func( boxed, std::forward<Args>(args)... );
};
}
开发者ID:mwgoldsmith,项目名称:libvlcpp,代码行数:10,代码来源:common.hpp
示例7: GenerateCode
virtual std::string GenerateCode(gd::Instruction & instruction, gd::EventsCodeGenerator & codeGenerator, gd::EventsCodeGenerationContext & context)
{
std::string outputCode;
std::vector<std::string> realObjects = codeGenerator.ExpandObjectsName(instruction.GetParameter(0).GetPlainString(), context);
for (unsigned int i = 0;i<realObjects.size();++i)
{
context.SetCurrentObject(realObjects[i]);
context.ObjectsListNeeded(realObjects[i]);
std::string newX, newY;
std::string expression1Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(expression1Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[2].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || expression1Code.empty())
expression1Code = "0";
}
std::string expression2Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(expression2Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[4].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || expression2Code.empty())
expression2Code = "0";
}
std::string op1 = instruction.GetParameter(1).GetPlainString();
if ( op1 == "=" || op1.empty() )
newX = expression1Code;
else if ( op1 == "/" || op1 == "*" || op1 == "-" || op1 == "+" )
newX = codeGenerator.GetObjectListName(realObjects[i], context)+"[i].getX() "+op1 + expression1Code;
else
return "";
std::string op2 = instruction.GetParameter(3).GetPlainString();
if ( op2 == "=" || op2.empty() )
newY = expression2Code;
else if ( op2 == "/" || op2 == "*" || op2 == "-" || op2 == "+" )
newY = codeGenerator.GetObjectListName(realObjects[i], context)+"[i].getY() "+op2 + expression2Code;
else
return "";
std::string call = codeGenerator.GetObjectListName(realObjects[i], context)+"[i].setPosition("+newX+","+newY+")";
outputCode += "for(var i = 0, len = "+codeGenerator.GetObjectListName(realObjects[i], context)+".length ;i < len;++i) {\n";
outputCode += " "+call+";\n";
outputCode += "}\n";
context.SetNoCurrentObject();
}
return outputCode;
};
开发者ID:manolaz,项目名称:GDJS,代码行数:54,代码来源:BaseObjectExtension.cpp
示例8: callbacks
void Save_Widget::plugin_update()
{
callbacks(false);
if (_plugin)
{
String tmp;
tmp << _options.codec;
_plugin->option(_plugin->options()[Save::CODEC], &tmp);
}
callbacks(true);
}
开发者ID:UIKit0,项目名称:djv,代码行数:13,代码来源:djv_libquicktime_save_widget.cpp
示例9: switch
void AttachedDetachedInvocation::dispatch(Element* element)
{
switch (m_which) {
case CustomElementLifecycleCallbacks::AttachedCallback:
callbacks()->attached(element);
break;
case CustomElementLifecycleCallbacks::DetachedCallback:
callbacks()->detached(element);
break;
default:
ASSERT_NOT_REACHED();
}
}
开发者ID:smilusingjavascript,项目名称:blink,代码行数:13,代码来源:CustomElementCallbackInvocation.cpp
示例10: DJV_DEBUG
void Window::frame_update()
{
DJV_DEBUG(String_Format("Window::frame_update(%%)").arg(int64_t(this)));
DJV_DEBUG_PRINT("frame = " << _frame);
callbacks(false);
_slider->set(_frame);
_widget->set(_movie.image(_frame));
_widget->redraw();
callbacks(true);
}
开发者ID:UIKit0,项目名称:djv,代码行数:14,代码来源:djv_audio_window.cpp
示例11: if
std::set < std::string > EventsVariablesFinder::FindArgumentsInInstructions(const gd::Platform & platform,
const gd::Project & project, const gd::Layout & layout, const vector < gd::Instruction > & instructions,
bool instructionsAreConditions, const std::string & parameterType, const std::string & objectName)
{
std::set < std::string > results;
for (unsigned int aId = 0;aId < instructions.size();++aId)
{
std::string lastObjectParameter = "";
gd::InstructionMetadata instrInfos = instructionsAreConditions ? MetadataProvider::GetConditionMetadata(platform, instructions[aId].GetType()) :
MetadataProvider::GetActionMetadata(platform, instructions[aId].GetType());
for (unsigned int pNb = 0;pNb < instrInfos.parameters.size();++pNb)
{
//The parameter has the searched type...
if ( instrInfos.parameters[pNb].type == parameterType )
{
//...remember the value of the parameter.
if (objectName.empty() || lastObjectParameter == objectName)
results.insert(instructions[aId].GetParameter(pNb).GetPlainString());
}
//Search in expressions
else if (instrInfos.parameters[pNb].type == "expression")
{
CallbacksForSearchingVariable callbacks(results, parameterType, objectName);
gd::ExpressionParser parser(instructions[aId].GetParameter(pNb).GetPlainString());
parser.ParseMathExpression(platform, project, layout, callbacks);
}
//Search in string expressions
else if (instrInfos.parameters[pNb].type == "string"||instrInfos.parameters[pNb].type == "file" ||instrInfos.parameters[pNb].type == "joyaxis" ||instrInfos.parameters[pNb].type == "color"||instrInfos.parameters[pNb].type == "layer")
{
CallbacksForSearchingVariable callbacks(results, parameterType, objectName);
gd::ExpressionParser parser(instructions[aId].GetParameter(pNb).GetPlainString());
parser.ParseStringExpression(platform, project, layout, callbacks);
}
//Remember the value of the last "object" parameter.
else if (gd::ParameterMetadata::IsObject(instrInfos.parameters[pNb].type))
{
lastObjectParameter = instructions[aId].GetParameter(pNb).GetPlainString();
}
}
if ( !instructions[aId].GetSubInstructions().empty() )
FindArgumentsInInstructions(platform, project, layout, instructions[aId].GetSubInstructions(),
instructionsAreConditions, parameterType);
}
return results;
}
开发者ID:cubemoon,项目名称:GD,代码行数:50,代码来源:EventsVariablesFinder.cpp
示例12: callbacks
void File_Browser::widget_update()
{
//DJV_DEBUG("File_Browser::widget_update");
//DJV_DEBUG_PRINT("value = " << _value);
//DJV_DEBUG_PRINT("value seq = " << _value.seq());
callbacks(false);
_value_widget->set(_value);
_seq_widget->set(_seq);
callbacks(true);
}
开发者ID:UIKit0,项目名称:djv,代码行数:14,代码来源:djv_file_browser.cpp
示例13: defined
SceneExtension::SceneExtension()
{
gd::BuiltinExtensionsImplementer::ImplementsSceneExtension(*this);
#if defined(GD_IDE_ONLY)
GetAllExpressions()["Random"].SetFunctionName("GDpriv::CommonInstructions::Random").SetIncludeFile("GDCpp/Extensions/Builtin/CommonInstructionsTools.h");
GetAllStrExpressions()["CurrentSceneName"].SetFunctionName("GetSceneName").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllConditions()["DepartScene"].SetFunctionName("SceneJustBegins").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllActions()["Scene"].SetFunctionName("ReplaceScene").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllActions()["PushScene"].SetFunctionName("PushScene").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllActions()["PopScene"].SetFunctionName("PopScene").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllActions()["Quit"].SetFunctionName("StopGame").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllActions()["SceneBackground"].SetFunctionName("ChangeSceneBackground").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllActions()["DisableInputWhenFocusIsLost"].SetFunctionName("DisableInputWhenFocusIsLost").SetIncludeFile("GDCpp/Extensions/Builtin/RuntimeSceneTools.h");
GetAllConditions()["Egal"].codeExtraInformation
.SetCustomCodeGenerator([](gd::Instruction & instruction, gd::EventsCodeGenerator & codeGenerator, gd::EventsCodeGenerationContext & context) {
gd::String value1Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(value1Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[0].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || value1Code.empty()) value1Code = "0";
}
gd::String value2Code;
{
gd::CallbacksForGeneratingExpressionCode callbacks(value2Code, codeGenerator, context);
gd::ExpressionParser parser(instruction.GetParameters()[2].GetPlainString());
if (!parser.ParseMathExpression(codeGenerator.GetPlatform(), codeGenerator.GetProject(), codeGenerator.GetLayout(), callbacks) || value2Code.empty()) value2Code = "0";
}
if ( instruction.GetParameters()[1].GetPlainString() == "=" || instruction.GetParameters()[1].GetPlainString().empty() )
return "conditionTrue = ("+value1Code+" == "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == ">")
return "conditionTrue = ("+value1Code+" > "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "<")
return "conditionTrue = ("+value1Code+" < "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "<=")
return "conditionTrue = ("+value1Code+" <= "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == ">=")
return "conditionTrue = ("+value1Code+" >= "+value2Code+");\n";
else if ( instruction.GetParameters()[1].GetPlainString() == "!=")
return "conditionTrue = ("+value1Code+" != "+value2Code+");\n";
return gd::String("");
});
#endif
}
开发者ID:mateerladnam,项目名称:GD,代码行数:48,代码来源:SceneExtension.cpp
示例14: reportError
void DOMFileSystemBase::copy(const EntryBase* source,
EntryBase* parent,
const String& newName,
EntryCallback* successCallback,
ErrorCallbackBase* errorCallback,
SynchronousType synchronousType) {
if (!fileSystem()) {
reportError(errorCallback, FileError::kAbortErr);
return;
}
String destinationPath;
if (!verifyAndGetDestinationPathForCopyOrMove(source, parent, newName,
destinationPath)) {
reportError(errorCallback, FileError::kInvalidModificationErr);
return;
}
std::unique_ptr<AsyncFileSystemCallbacks> callbacks(EntryCallbacks::create(
successCallback, errorCallback, m_context, parent->filesystem(),
destinationPath, source->isDirectory()));
callbacks->setShouldBlockUntilCompletion(synchronousType == Synchronous);
fileSystem()->copy(createFileSystemURL(source),
parent->filesystem()->createFileSystemURL(destinationPath),
std::move(callbacks));
}
开发者ID:mirror,项目名称:chromium,代码行数:27,代码来源:DOMFileSystemBase.cpp
示例15: m_mtx_wrapper
inline windows_named_mutex::windows_named_mutex
(open_or_create_t, const char *name, const permissions &perm)
: m_mtx_wrapper()
{
named_mut_callbacks callbacks(m_mtx_wrapper);
m_named_sync.open_or_create(DoOpenOrCreate, name, perm, callbacks);
}
开发者ID:ACEZLY,项目名称:GreenLeaf,代码行数:7,代码来源:named_mutex.hpp
示例16: m_sem_wrapper
inline windows_named_semaphore::windows_named_semaphore
(open_or_create_t, const char *name, unsigned int initial_count, const permissions &perm)
: m_sem_wrapper()
{
named_sem_callbacks callbacks(m_sem_wrapper, initial_count);
m_named_sync.open_or_create(DoOpenOrCreate, name, perm, callbacks);
}
开发者ID:ACEZLY,项目名称:GreenLeaf,代码行数:7,代码来源:named_semaphore.hpp
示例17: do_evaluation
void JamomaExpressionComposition::firstResultCallback(bool first_result)
{
bool result = do_evaluation(first_result, mSecondExpression->evaluate());
for (auto callback : callbacks())
callback(result);
}
开发者ID:jcelerier,项目名称:test-shaders-qml,代码行数:7,代码来源:ExpressionComposition.cpp
示例18: callbacks
void IDBFactoryBackendProxy::deleteDatabase(const String& name, PassRefPtr<IDBCallbacks> prpCallbacks, const String& databaseIdentifier, ExecutionContext* context)
{
RefPtr<IDBCallbacks> callbacks(prpCallbacks);
WebSecurityOrigin origin(context->securityOrigin());
if (!allowIndexedDB(context, name, origin, callbacks))
return;
m_webIDBFactory->deleteDatabase(name, new WebIDBCallbacksImpl(callbacks), databaseIdentifier);
}
开发者ID:rzr,项目名称:Tizen_Crosswalk,代码行数:9,代码来源:IDBFactoryBackendProxy.cpp
示例19: OnSubTextExpression
virtual bool OnSubTextExpression(const gd::Platform & platform, const gd::Project & project, const gd::Layout & layout, gd::Expression & expression)
{
CallbacksForSearchingVariable callbacks(results, parameterType, objectName);
gd::ExpressionParser parser(expression.GetPlainString());
parser.ParseStringExpression(platform, project, layout, callbacks);
return true;
}
开发者ID:cubemoon,项目名称:GD,代码行数:9,代码来源:EventsVariablesFinder.cpp
注:本文中的callbacks函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论