本文整理汇总了C++中delegate函数的典型用法代码示例。如果您正苦于以下问题:C++ delegate函数的具体用法?C++ delegate怎么用?C++ delegate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了delegate函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: delegate
void GatherInfoThread::doRun()
{
auto wildc = gcRefPtr<WildcardManager>::create();
wildc->onNeedSpecialEvent += delegate(&onNeedWCEvent);
uint32 prog = 0;
onProgUpdateEvent(prog);
getUserCore()->getItemManager()->retrieveItemInfo(getItemId(), 0, wildc, MCFBranch::BranchFromInt(getMcfBranch()), MCFBuild::BuildFromInt(getMcfBuild()));
if (isStopped())
return;
auto item = getItemInfo();
if (!item)
throw gcException(ERR_INVALIDDATA, "The item handle was null (gather info failed)");
uint32 itemId = item->getId().getItem();
onCompleteEvent(itemId);
}
开发者ID:aromis,项目名称:desura-app,代码行数:20,代码来源:GatherInfoThread.cpp
示例2: REG_FUNCTION_VOID
void IPCUninstallBranch::registerFunctions()
{
#ifndef DESURA_CLIENT
REG_FUNCTION_VOID( IPCUninstallBranch, pause );
REG_FUNCTION_VOID( IPCUninstallBranch, unpause );
REG_FUNCTION_VOID( IPCUninstallBranch, stop );
REG_FUNCTION_VOID( IPCUninstallBranch, start );
LINK_EVENT( onProgressIPCEvent, uint64 );
LINK_EVENT( onErrorEvent, gcException );
LINK_EVENT_VOID( onCompleteEvent );
#else
REG_EVENT( onProgressIPCEvent );
REG_EVENT( onErrorEvent );
REG_EVENT_VOID( onCompleteEvent );
onProgressIPCEvent += delegate(this, &IPCUninstallBranch::onProgress);
#endif
}
开发者ID:Alasaad,项目名称:Desurium,代码行数:20,代码来源:IPCUninstallBranch.cpp
示例3: int
void Entry::recalcCharBoxes(const std::string& text)
{
int lastTextIndex = int(text.size());
CalcBoxesTextDelegate delegate(lastTextIndex);
os::draw_text(nullptr, font(),
base::utf8_const_iterator(text.begin()),
base::utf8_const_iterator(text.end()),
gfx::ColorNone, gfx::ColorNone, 0, 0, &delegate);
m_boxes = delegate.boxes();
if (!m_boxes.empty()) {
m_boxes.back().to = lastTextIndex;
}
// A last box for the last position
CharBox box;
box.codepoint = 0;
box.from = box.to = lastTextIndex;
m_boxes.push_back(box);
}
开发者ID:aseprite,项目名称:aseprite,代码行数:20,代码来源:entry.cpp
示例4: delegate
void MedianFilter::applyToGrayscale(FilterManager* filterMgr)
{
const Image* src = filterMgr->getSourceImage();
uint16_t* dst_address = (uint16_t*)filterMgr->getDestinationAddress();
Target target = filterMgr->getTarget();
int color, k, a;
GetPixelsDelegateGrayscale delegate(m_channel);
int x = filterMgr->getX();
int x2 = x+filterMgr->getWidth();
int y = filterMgr->getY();
for (; x<x2; ++x) {
// Avoid the non-selected region
if (filterMgr->skipPixel()) {
++dst_address;
continue;
}
delegate.reset();
get_neighboring_pixels<GrayscaleTraits>(src, x, y, m_width, m_height, m_width/2, m_height/2,
m_tiledMode, delegate);
color = image_getpixel_fast<GrayscaleTraits>(src, x, y);
if (target & TARGET_GRAY_CHANNEL) {
std::sort(m_channel[0].begin(), m_channel[0].end());
k = m_channel[0][m_ncolors/2];
}
else
k = _graya_getv(color);
if (target & TARGET_ALPHA_CHANNEL) {
std::sort(m_channel[1].begin(), m_channel[1].end());
a = m_channel[1][m_ncolors/2];
}
else
a = _graya_geta(color);
*(dst_address++) = _graya(k, a);
}
}
开发者ID:RobertLowe,项目名称:aseprite,代码行数:41,代码来源:median_filter.cpp
示例5: Font
// constructor
DlgFatal::DlgFatal(const std::vector<std::string>& callstack, const std::string& message)
{
Font().set("arial");
m_pTex = D3D().loadTextureFromResource("Skull", RT_BITMAP);
m_pBox = new UITextBox;
m_pBox->setSize(Point2(0.85f, 0.375f));
m_pBox->setPos(Point2(0.075f, 0.1875f));
m_pBox->setInputEnabled(false);
m_pBox->setAlign(UITextBox::CENTER);
m_pBox->setVAlign(UITextBox::VCENTER);
m_pBox->setWrap(true);
m_pBox->setFont("smallarial");
m_pBox->setText(join(callstack, " <- ") + message);
m_pButton = new UIButton;
m_pButton->onClick = delegate(&DlgFatal::onExit);
m_pButton->setText("Exit And Cry");
m_pButton->setPos(Point2(m_pBox->pos().x + ((m_pBox->size().x - m_pButton->size().x) * 0.5f), 0.75f - m_pButton->size().y - 0.025f));
}
开发者ID:dlbeswick,项目名称:dlbeswick-examples,代码行数:22,代码来源:DlgFatal.cpp
示例6: setupCurTask
bool VerifyServiceTask::installMissingFiles()
{
bool res = false;
VSInstallMissing task;
m_pCurTask = &task;
setupCurTask();
task.onProgressEvent += delegate(this, &VerifyServiceTask::onProgress);
try
{
res = task.doTask();
}
catch (gcException)
{
}
m_pCurTask = NULL;
return res;
}
开发者ID:Alasaad,项目名称:Desurium,代码行数:21,代码来源:VerifyServiceTask.cpp
示例7: delegate
void AssignNameOverlay::updatePosition()
{
if (!index().isValid())
{
return;
}
QRect rect = delegate()->pixmapRect();
if (rect.width() < m_widget->minimumSizeHint().width())
{
int offset = (m_widget->minimumSizeHint().width() - rect.width()) / 2;
rect.adjust(-offset, 0, offset, 0);
}
QRect visualRect = m_view->visualRect(index());
rect.translate(visualRect.topLeft());
m_widget->setFixedSize(rect.width(), rect.height());
m_widget->move(rect.topLeft());
}
开发者ID:Match-Yang,项目名称:digikam,代码行数:21,代码来源:assignnameoverlay.cpp
示例8: main
/*----------------------------------------------------------------------
| main
+---------------------------------------------------------------------*/
int
main(int argc, char** argv)
{
// setup Neptune logging
NPT_LogManager::GetDefault().Configure("plist:.level=FINE;.handlers=ConsoleHandler;.ConsoleHandler.colors=off;.ConsoleHandler.filter=63");
NPT_COMPILER_UNUSED(argc);
// parse command line
ParseCommandLine(argv);
// setup device
PLT_MediaConnect* connect(
new PLT_MediaConnect("Platinum"));
connect->SetByeByeFirst(false);
// setup delegate
NPT_Reference<PLT_FileMediaConnectDelegate> delegate(
new PLT_FileMediaConnectDelegate("/", Options.path));
connect->SetDelegate((PLT_MediaServerDelegate*)delegate.AsPointer());
PLT_UPnP upnp;
PLT_DeviceHostReference device(connect);
upnp.AddDevice(device);
if (NPT_FAILED(upnp.Start()))
return 1;
char buf[256];
while (gets(buf))
{
if (*buf == 'q')
{
break;
}
}
upnp.Stop();
return 0;
}
开发者ID:barrycburton,项目名称:Platinum,代码行数:42,代码来源:main.cpp
示例9: delegate
bool VSDownloadMissing::doTask()
{
m_hMcf->getNewProvider() += delegate(this, &VSDownloadMissing::onNewProvider);
try
{
MCFCore::Misc::UserCookies uc;
getWebCore()->setMCFCookies(&uc);
m_hMcf->getDownloadProviders(getWebCore()->getMCFDownloadUrl(), &uc);
m_hMcf->dlFilesFromWeb();
}
catch (gcException &except)
{
onErrorEvent(except);
return false;
}
if (isStopped())
return false;
return checkComplex();
}
开发者ID:Alasaad,项目名称:Desurium,代码行数:23,代码来源:VSDownloadMissing.cpp
示例10: gcTrace
void MainApp::logIn(const char* user, const char* pass)
{
gcTrace("User: {0}", user);
std::lock_guard<std::mutex> a(m_UserLock);
safe_delete(g_pUserHandle);
gcString path = UTIL::OS::getAppDataPath();
g_pUserHandle = (UserCore::UserI*)UserCore::FactoryBuilderUC(USERCORE);
g_pUserHandle->init(path.c_str(), m_strServiceProvider.c_str());
try
{
//need to do this here as news items will be passed onlogin
g_pUserHandle->getNewsUpdateEvent() += delegate(this, &MainApp::onNewsUpdate);
g_pUserHandle->getGiftUpdateEvent() += delegate((MainAppNoUI*)this, &MainAppNoUI::onGiftUpdate);
g_pUserHandle->getNeedCvarEvent() += delegate(this, &MainApp::onNeedCvar);
g_pUserHandle->lockDelete();
g_pUserHandle->logIn(user, pass);
g_pUserHandle->unlockDelete();
#ifndef DEBUG
if (gc_enable_api_debugging.getBool())
g_pUserHandle->getWebCore()->enableDebugging();
#endif
}
catch (gcException)
{
g_pUserHandle->logOut();
g_pUserHandle->getNewsUpdateEvent() -= delegate(this, &MainApp::onNewsUpdate);
g_pUserHandle->getGiftUpdateEvent() -= delegate((MainAppNoUI*)this, &MainAppNoUI::onGiftUpdate);
g_pUserHandle->getNeedCvarEvent() -= delegate(this, &MainApp::onNeedCvar);
g_pUserHandle->unlockDelete();
g_pUserHandle->logOut(false, false);
safe_delete(g_pUserHandle);
throw;
}
}
开发者ID:leayle2a,项目名称:desura-app,代码行数:45,代码来源:MainApp.cpp
示例11: Invalidate
void SrtmTile::Init(string const & dir, ms::LatLon const & coord)
{
Invalidate();
string const base = GetBase(coord);
string const cont = dir + base + ".SRTMGL1.hgt.zip";
string file = base + ".hgt";
UnzipMemDelegate delegate(m_data);
try
{
ZipFileReader::UnzipFile(cont, file, delegate);
}
catch (ZipFileReader::LocateZipException const & e)
{
// Sometimes packed file has different name. See N39E051 measure.
file = base + ".SRTMGL1.hgt";
ZipFileReader::UnzipFile(cont, file, delegate);
}
if (!delegate.m_completed)
{
LOG(LWARNING, ("Can't decompress SRTM file:", cont));
Invalidate();
return;
}
if (m_data.size() != kSrtmTileSize)
{
LOG(LWARNING, ("Bad decompressed SRTM file size:", cont, m_data.size()));
Invalidate();
return;
}
m_valid = true;
}
开发者ID:65apps,项目名称:omim,代码行数:37,代码来源:srtm_parser.cpp
示例12: wc
void HGTController::doDownload()
{
//header should be saved all ready so appened to it
m_hFile.open(m_szFile, UTIL::FS::FILE_APPEND);
m_hFile.seek(0);
HttpHandle wc(m_szUrl.c_str());
//wc->getProgressEvent() += delegate(this, &HGTController::onProgress);
wc->getWriteEvent() += delegate(this, &HGTController::onWriteMemory);
for (size_t x=0; x<m_vSuperBlockList.size(); x++)
{
m_pCurBlock = m_vSuperBlockList[x];
wc->cleanUp();
wc->setDownloadRange(m_pCurBlock->offset, m_pCurBlock->size);
try
{
m_hFile.seek(m_pCurBlock->vBlockList[0]->fileOffset);
wc->getWeb();
}
catch (gcException &e)
{
onErrorEvent(e);
nonBlockStop();
}
}
size_t fsSize = m_rvFileList.size();
for (size_t x=0; x<fsSize; x++)
{
if (!HasAllFlags(m_rvFileList[x]->getFlags(), MCFFileI::FLAG_CANUSEDIFF))
m_rvFileList[x]->addFlag(MCFFileI::FLAG_COMPLETE);
}
}
开发者ID:boskee,项目名称:Desurium-1,代码行数:37,代码来源:HGTController.cpp
示例13: EAW_ASSERT
bool ViewNavigationDelegate::ClickElementsByClass(const char* className)
{
EAW_ASSERT(className);
if(!className || !className[0])
return false;
IOverlayInputClient* pOverlayInputClient = mView->GetOverlayInputClient();
if(pOverlayInputClient)
pOverlayInputClient->OnFocusChangeEvent(false);
bool elementClicked = false;
WebCore::Frame* pFrame = mView->GetFrame();
while(pFrame)
{
WebCore::Document* document = pFrame->document();
EAW_ASSERT(document);
ClickElementsByIdOrClassDelegate delegate(className, false);
if (document)
{
DOMWalker<ClickElementsByIdOrClassDelegate> walker(document, delegate);
}
elementClicked = delegate.GetReturnValue();
if(elementClicked)
break;
pFrame = pFrame->tree()->traverseNext();
}
return elementClicked;
}
开发者ID:emuikernel,项目名称:EAWebKit,代码行数:36,代码来源:EAWebKitViewNavigationDelegate.cpp
示例14: TraceS
void Connection::replaceAdapter(net::SocketAdapter* adapter)
{
TraceS(this) << "Replace adapter: " << adapter << endl;
if (_adapter) {
TraceS(this) << "Replace adapter: Delete existing: " << _adapter << endl;
Outgoing.emitter.detach(_adapter);
_socket->removeReceiver(_adapter);
_adapter->removeReceiver(this);
_adapter->setSender(nullptr);
deleteLater<net::SocketAdapter>(_adapter);
// delete _adapter;
_adapter = nullptr;
}
if (adapter) {
// Attach ourselves to the given ConnectionAdapter (should already be set)
//assert(adapter->recvAdapter() == this);
//assert(adapter->sendAdapter() == _socket.get());
adapter->addReceiver(this);
// ConnectionAdapter output goes to the Socket
adapter->setSender(_socket.get());
// Attach the ConnectionAdapter to receive Socket callbacks
// The adapter will process raw packets into HTTP or WebSocket
// frames depending on the adapter rype.
_socket->addReceiver(adapter);
// The Outgoing stream pumps data into the ConnectionAdapter,
// which in turn proxies to the output Socket
Outgoing.emitter += delegate(adapter, &net::SocketAdapter::sendPacket);
_adapter = adapter;
}
}
开发者ID:ComputerVisionWorks,项目名称:libsourcey,代码行数:36,代码来源:connection.cpp
示例15: delegate
void TagsLineEditOverlay::updatePosition()
{
if (!m_index.isValid() || !m_widget)
{
return;
}
QRect thumbrect = delegate()->ratingRect();
//kDebug() << "updatePosition called, probably a mouseover : " << thumbrect;
QRect rect = thumbrect;
if (rect.width() > addTagsLineEdit()->width() )
{
int offset = (rect.width() - addTagsLineEdit()->width()) / 2;
rect.adjust(offset, 0, -offset, 0);
}
QRect visualRect = m_view->visualRect(m_index);
rect.translate(visualRect.topLeft());
m_widget->setFixedSize(rect.width() + 2, rect.height() + 5);
m_widget->move(rect.topLeft());
m_widget->setFocus();
}
开发者ID:rickysarraf,项目名称:digikam,代码行数:24,代码来源:tagslineeditoverlay.cpp
示例16: paintInfoBeforeFiltering
void SVGForeignObjectPainter::paint(const PaintInfo& paintInfo) {
if (paintInfo.phase != PaintPhaseForeground &&
paintInfo.phase != PaintPhaseSelection)
return;
PaintInfo paintInfoBeforeFiltering(paintInfo);
paintInfoBeforeFiltering.updateCullRect(
m_layoutSVGForeignObject.localSVGTransform());
SVGTransformContext transformContext(
paintInfoBeforeFiltering.context, m_layoutSVGForeignObject,
m_layoutSVGForeignObject.localSVGTransform());
Optional<FloatClipRecorder> clipRecorder;
if (SVGLayoutSupport::isOverflowHidden(&m_layoutSVGForeignObject))
clipRecorder.emplace(paintInfoBeforeFiltering.context,
m_layoutSVGForeignObject,
paintInfoBeforeFiltering.phase,
m_layoutSVGForeignObject.viewportRect());
SVGPaintContext paintContext(m_layoutSVGForeignObject,
paintInfoBeforeFiltering);
bool continueRendering = true;
if (paintContext.paintInfo().phase == PaintPhaseForeground)
continueRendering = paintContext.applyClipMaskAndFilterIfNecessary();
if (continueRendering) {
// Paint all phases of FO elements atomically as though the FO element
// established its own stacking context. The delegate forwards calls to
// paint() in LayoutObject::paintAllPhasesAtomically() to
// BlockPainter::paint(), instead of m_layoutSVGForeignObject.paint() (which
// would call this method again).
BlockPainterDelegate delegate(m_layoutSVGForeignObject);
ObjectPainter(delegate).paintAllPhasesAtomically(paintContext.paintInfo(),
LayoutPoint());
}
}
开发者ID:mirror,项目名称:chromium,代码行数:36,代码来源:SVGForeignObjectPainter.cpp
示例17: onProgressEvent
void UMcfEx::downloadMcf()
{
uint32 prog = 0;
onProgressEvent(prog);
if (m_szUrl == "")
{
::MessageBox(NULL, "Invalid Download URL.", "Desura: Error", MB_OK);
exit(-1);
}
if (m_szFile == L"")
{
::MessageBox(NULL, "Invalid MCF file path.", "Desura: Error", MB_OK);
exit(-1);
}
HttpHandle wc(m_szUrl.c_str());
wc->setOutFile(gcString(m_szFile).c_str());
wc->getProgressEvent() += delegate((UMcf*)this, &UMcf::updateAllCB);
try
{
wc->getWebToFile();
}
catch (gcException &e)
{
char msg[255];
_snprintf_s(msg, 255, _TRUNCATE, "Failed to download Desura Files. \n\n%s [%d.%d]", e.getErrMsg(), e.getErrId(), e.getSecErrId());
::MessageBox(NULL, msg, "Desura: Error", MB_OK);
exit(-1);
}
m_sHeader->setBuild(MCFBuild::BuildFromInt(m_iAppBuild));
m_sHeader->setId(m_iAppId);
}
开发者ID:CSRedRat,项目名称:desura-app,代码行数:36,代码来源:UMcfEx.cpp
示例18: a
void MainApp::logIn(const char* user, const char* pass)
{
Thread::AutoLock a(m_UserLock);
safe_delete(g_pUserHandle);
gcString path = UTIL::OS::getAppDataPath();
g_pUserHandle = (UserCore::UserI*)UserCore::FactoryBuilderUC(USERCORE);
g_pUserHandle->init(path.c_str());
try
{
//need to do this here as news items will be passed onlogin
*g_pUserHandle->getNewsUpdateEvent() += delegate(this, &MainApp::onNewsUpdate);
*g_pUserHandle->getGiftUpdateEvent() += delegate(this, &MainApp::onGiftUpdate);
*g_pUserHandle->getNeedCvarEvent() += delegate(this, &MainApp::onNeedCvar);
g_pUserHandle->lockDelete();
g_pUserHandle->logIn(user, pass);
g_pUserHandle->unlockDelete();
#ifndef DEBUG
if (gc_enable_api_debugging.getBool())
g_pUserHandle->getWebCore()->enableDebugging();
#endif
}
catch (gcException)
{
g_pUserHandle->logOut();
*g_pUserHandle->getNewsUpdateEvent() -= delegate(this, &MainApp::onNewsUpdate);
*g_pUserHandle->getGiftUpdateEvent() -= delegate(this, &MainApp::onGiftUpdate);
*g_pUserHandle->getNeedCvarEvent() -= delegate(this, &MainApp::onNeedCvar);
g_pUserHandle->unlockDelete();
safe_delete(g_pUserHandle);
throw;
}
}
开发者ID:aszlig,项目名称:Desurium,代码行数:41,代码来源:MainApp.cpp
示例19: getItemInfo
bool UIComplexModServiceTask::initService()
{
m_OldBranch = getItemInfo()->getInstalledBranch();
m_OldBuild = getItemInfo()->getInstalledBuild();
UserCore::Item::ItemInfo* parentInfo = getParentItemInfo();
if (getItemInfo()->getInstalledModId().isOk())
parentInfo = getItemInfo();
if (!parentInfo)
{
onComplete();
return false;
}
m_idLastInstalledMod = parentInfo->getInstalledModId();
getUserCore()->getItemManager()->setInstalledMod(parentInfo->getId(), DesuraId());
if (!m_idLastInstalledMod.isOk())
{
onComplete();
return false;
}
UserCore::Item::ItemInfo* modInfo = dynamic_cast<UserCore::Item::ItemInfo*>(getUserCore()->getItemManager()->findItemInfo(m_idLastInstalledMod));
if (!modInfo)
{
gcException eModNoExist(ERR_NULLHANDLE, "Installed mod doesnt exist in database!\n");
onErrorEvent(eModNoExist);
return false;
}
m_pIPCCL = getServiceMain()->newComplexLaunch();
if (!m_pIPCCL)
{
gcException eFailedUninstall (ERR_NULLHANDLE, "Failed to create uninstall complex branch mcf service!\n");
onErrorEvent(eFailedUninstall);
return false;
}
UserCore::MCFManager *mm = UserCore::GetMCFManager();
gcString installPath = modInfo->getPath();
gcString parPath = mm->getMcfBackup(parentInfo->getId(), m_idLastInstalledMod);
gcString modMcfPath;
if (m_idLastInstalledMod == getItemInfo()->getId())
modMcfPath = getBranchMcf(modInfo->getId(), m_OldBranch, m_OldBuild);
else
modMcfPath = getBranchMcf(modInfo->getId(), modInfo->getInstalledBranch(), modInfo->getInstalledBuild());
if (m_uiCompleteAction == CA_UNINSTALL)
modInfo->resetInstalledMcf();
m_pIPCCL->onCompleteEvent += delegate(this, &UIComplexModServiceTask::onComplete);
m_pIPCCL->onProgressEvent += delegate(this, &UIComplexModServiceTask::onProgress);
m_pIPCCL->onErrorEvent += delegate((UIBaseServiceTask*)this, &UIBaseServiceTask::onServiceError);
m_pIPCCL->startRemove(modMcfPath.c_str(), parPath.c_str(), installPath.c_str(), getItemInfo()->getInstallScriptPath());
return true;
}
开发者ID:CSRedRat,项目名称:desura-app,代码行数:64,代码来源:UIComplexModServiceTask.cpp
示例20: delegate
void PeerListController::restoreState(
std::unique_ptr<PeerListState> state) {
delegate()->peerListRestoreState(std::move(state));
}
开发者ID:zhangsoledad,项目名称:tdesktop,代码行数:4,代码来源:peer_list_box.cpp
注:本文中的delegate函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论