本文整理汇总了C++中Looper函数的典型用法代码示例。如果您正苦于以下问题:C++ Looper函数的具体用法?C++ Looper怎么用?C++ Looper使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Looper函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Looper
status_t TVideoEditorText::Archive(BMessage* data, bool deep) const
{
status_t myErr;
Looper()->Lock();
// Start by calling inherited archive
myErr = BView::Archive(data, deep);
if (myErr == B_OK) {
// Add our class name to the archive
data->AddString("class", "TVideoEditorText");
// Add our member variables to the BMessage
data->AddInt32("MessageID", fMessageID);
data->AddFloat("TextSize", fTextSize);
data->AddData("Font", B_ANY_TYPE, &fFont, sizeof(BFont) );
data->AddData("Color", B_RGB_COLOR_TYPE, &fColor, sizeof(rgb_color) );
}
Looper()->Unlock();
return myErr;
}
开发者ID:Barrett17,项目名称:UltraDV,代码行数:25,代码来源:TVideoEditorText.cpp
示例2: Looper
status_t TStageWindow::Archive(BMessage *data, bool deep) const
{
status_t myErr;
Looper()->Lock();
// Start by calling inherited archive
myErr = BWindow::Archive(data, deep);
if (myErr == B_OK)
{
// Add our class name to the archive
data->AddString("class", "TStageWindow");
// Add our member variables to the archive
// Add attached views
if (deep)
{
// StageView
if (m_StageView)
{
BMessage childArchive;
if ( m_StageView->Archive(&childArchive, deep) == B_OK )
data->AddMessage("StageView", &childArchive);
}
}
}
Looper()->Unlock();
return myErr;
}
开发者ID:ModeenF,项目名称:UltraDV,代码行数:34,代码来源:TStageWindow.cpp
示例3: Looper
void
BTitleView::MouseMoved(BPoint where, uint32 code, const BMessage *message)
{
if (fTrackingState != NULL) {
int32 buttons = 0;
if (Looper() != NULL && Looper()->CurrentMessage() != NULL)
Looper()->CurrentMessage()->FindInt32("buttons", &buttons);
fTrackingState->MouseMoved(where, buttons);
return;
}
switch (code) {
default:
if (InColumnResizeArea(where) && Window()->IsActive())
SetViewCursor(&fHorizontalResizeCursor);
else
SetViewCursor(B_CURSOR_SYSTEM_DEFAULT);
break;
case B_EXITED_VIEW:
SetViewCursor(B_CURSOR_SYSTEM_DEFAULT);
break;
}
_inherited::MouseMoved(where, code, message);
}
开发者ID:mmadia,项目名称:Haiku-services-branch,代码行数:25,代码来源:TitleView.cpp
示例4: Looper
/*! Since we have set a mouse event mask, we don't want to forward all
mouse downs to the slider - instead, we only invoke it, which causes a
message to our target. Within the VolumeWindow, this will actually
cause the window to close.
Also, we need to mask out the dragger in this case, or else dragging
us will also cause a volume update.
*/
void
VolumeControl::MouseDown(BPoint where)
{
// Ignore clicks on the dragger
int32 viewToken;
if (Bounds().Contains(where) && Looper()->CurrentMessage() != NULL
&& Looper()->CurrentMessage()->FindInt32("_view_token",
&viewToken) == B_OK
&& viewToken != _get_object_token_(this))
return;
// TODO: investigate why this does not work as expected (the dragger
// frame seems to be off)
#if 0
if (BView* dragger = ChildAt(0)) {
if (!dragger->IsHidden() && dragger->Frame().Contains(where))
return;
}
#endif
if (!IsEnabled() || !Bounds().Contains(where)) {
Invoke();
return;
}
BSlider::MouseDown(where);
}
开发者ID:yunxiaoxiao110,项目名称:haiku,代码行数:34,代码来源:VolumeControl.cpp
示例5: Looper
status_t TCueSheetTimeView::Archive(BMessage *data, bool deep) const
{
status_t myErr;
Looper()->Lock();
// Start by calling inherited archive
myErr = BView::Archive(data, deep);
if (myErr == B_OK)
{
// Add our class name to the archive
data->AddString("class", "TCueSheetTimeView");
// Add our member variables to the archive
// Add attached views
if (deep)
{
}
}
Looper()->Unlock();
return myErr;
}
开发者ID:ModeenF,项目名称:UltraDV,代码行数:28,代码来源:TCueSheetTimeView.cpp
示例6: BEntry
status_t TaskFS::Load(void)
{
status_t err = B_OK;
BEntry *tmpEntry = new BEntry();
TaskList *newTaskList = NULL;
Task *newTask = NULL;
tasks->MakeEmpty();
taskLists->MakeEmpty();
while (tasksDir.GetNextEntry(tmpEntry, false) == B_OK) {
if (tmpEntry->IsDirectory()){
newTaskList = DirectoryToList(tmpEntry);
if (newTaskList != NULL){
BMessage *msg = new BMessage();
msg->AddPointer("tasklist",newTaskList);
Looper()->SendNotices(ADD_TASK_LIST,msg);
taskLists->AddItem(newTaskList);
}
}
}
while (tasksDir.GetNextEntry(tmpEntry, false) == B_OK) {
if (tmpEntry->IsDirectory()){
newTaskList = DirectoryToList(tmpEntry);
if (newTaskList != NULL){
BMessage *msg = new BMessage();
msg->AddPointer("tasklist",newTaskList);
Looper()->SendNotices(ADD_TASK_LIST,msg);
taskLists->AddItem(newTaskList);
}
}
}
tasksDir.Rewind();
return err;
}
开发者ID:Paradoxianer,项目名称:Tasks,代码行数:33,代码来源:TaskFS.cpp
示例7: Looper
status_t TExportZone::Archive(BMessage *data, bool deep) const
{
status_t myErr;
Looper()->Lock();
// Start by calling inherited archive
myErr = BView::Archive(data, deep);
if (myErr == B_OK)
{
// Add our class name to the archive
data->AddString("class", "TExportZone");
// Add our member variables to the archive
data->AddRect("ExportChannel", m_ExportChannel);
data->AddRect("InRect", m_InRect);
data->AddRect("OutRect", m_OutRect);
// Add attached views
if (deep)
{
}
}
Looper()->Unlock();
return myErr;
}
开发者ID:ModeenF,项目名称:UltraDV,代码行数:31,代码来源:TExportZone.cpp
示例8: sprintf
void TVideoEditorText::SetText(char* theText)
{
sprintf(fText, theText);
Looper()->Lock();
Invalidate();
Looper()->Unlock();
}
开发者ID:Barrett17,项目名称:UltraDV,代码行数:7,代码来源:TVideoEditorText.cpp
示例9: looper
void NetPrefsServerView::SetNetworkData(BMessage* msg)
{
// this shouldn't theoretically be able to happen but better safe than sorry
BLooper* looper(Looper());
if (looper == NULL) return;
BAutolock lock(Looper());
if (!lock.IsLocked()) return;
// clear previous servers (if any)
while (fServerList->CountRows() > 0) {
BRow* row(fServerList->RowAt(0));
fServerList->RemoveRow(row);
delete row;
}
BString netString(S_PREFSERVER_SEL_STRING);
netString += msg->FindString("name");
netString += ":";
type_code type;
int32 count;
ssize_t size;
const ServerData* data;
msg->GetInfo("server", &type, &count);
for (int32 i = 0; i < count; i++) {
msg->FindData("server", B_ANY_TYPE, i, reinterpret_cast<const void**>(&data), &size);
AddServer(data);
}
fActiveNetwork = msg;
fSelectTitleString->SetText(netString.String());
fSelectTitleString->ResizeToPreferred();
}
开发者ID:carriercomm,项目名称:Vision,代码行数:31,代码来源:NetPrefsServerView.cpp
示例10: Looper
status_t TCueSheetWindow::Archive(BMessage* data, bool deep) const
{
status_t myErr;
Looper()->Lock();
// Start by calling inherited archive
myErr = BWindow::Archive(data, deep);
if (myErr == B_OK) {
// Add our class name to the archive
data->AddString("class", "TCueSheetWindow");
// Add our member variables to the archive
// Add attached views
if (deep) {
// Archive StageWindow
BMessage stageArchive;
fStageWindow->Archive(&stageArchive, true);
data->AddMessage("StageWindow", &stageArchive);
}
}
Looper()->Unlock();
return myErr;
}
开发者ID:Barrett17,项目名称:UltraDV,代码行数:31,代码来源:TCueSheetWindow.cpp
示例11: Looper
void FSPanel::CheckCB()
{
F83_RB->SetEnabled(GetISO9660());
F31_RB->SetEnabled(GetISO9660());
F37_RB->SetEnabled(GetISO9660());
Joliet_CB->SetEnabled(GetISO9660());
RockRidge_CB->SetEnabled(GetISO9660());
HFS_CB->SetEnabled(GetISO9660());
mappingCB->SetEnabled((HFS_CB->Value() == B_CONTROL_ON) && (HFS_CB->IsEnabled()));
Looper()->PostMessage(JOLIET_CB_MSG, this);
Looper()->PostMessage(ROCKRIDGE_CB_MSG, this);
Looper()->PostMessage(MAPPING_CB_MSG, this);
if (UDF_CB->IsEnabled()) {
UDFDef_RB->SetEnabled(GetUDF());
UDFDVD_RB->SetEnabled(GetUDF());
} else {
UDFDef_RB->SetEnabled(false);
UDFDVD_RB->SetEnabled(false);
}
if (ISO9660_CB->Value() == B_CONTROL_OFF && UDF_CB->Value() == B_CONTROL_OFF &&
BFS_CB->Value() == B_CONTROL_OFF) {
BFS_CB->SetValue(B_CONTROL_ON);
CheckCB();
}
}
开发者ID:HaikuArchives,项目名称:Helios,代码行数:30,代码来源:FSPanel.cpp
示例12: switch
void
ClipView::KeyDown(const char* bytes, int32 numBytes)
{
switch (bytes[0]) {
case B_DELETE:
{
ClipItem* currentClip
= dynamic_cast<ClipItem *>(ItemAt(CurrentSelection()));
BMessage message(DELETE);
message.AddPointer("clip", currentClip);
Looper()->PostMessage(&message);
break;
}
case B_LEFT_ARROW:
case B_RIGHT_ARROW:
{
BMessage message(SWITCHLIST);
message.AddInt32("listview", (int32)0);
Looper()->PostMessage(&message);
break;
}
default:
{
BListView::KeyDown(bytes, numBytes);
break;
}
}
}
开发者ID:humdingerb,项目名称:clipdinger,代码行数:28,代码来源:ClipView.cpp
示例13: printf
status_t VBoxClipboardService::_ServiceThread()
{
printf("VBoxClipboardService::%s()\n", __FUNCTION__);
/* The thread waits for incoming messages from the host. */
for (;;)
{
uint32_t u32Msg;
uint32_t u32Formats;
int rc = VbglR3ClipboardGetHostMsg(fClientId, &u32Msg, &u32Formats);
if (RT_SUCCESS(rc))
{
switch (u32Msg)
{
case VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS:
{
/*
* The host has announced available clipboard formats. Forward
* the information to the handler.
*/
LogRelFlowFunc(("VBOX_SHARED_CLIPBOARD_HOST_MSG_FORMATS u32Formats=%x\n", u32Formats));
BMessage msg(VBOX_GUEST_CLIPBOARD_HOST_MSG_FORMATS);
msg.AddInt32("Formats", (uint32)u32Formats);
Looper()->PostMessage(&msg, this);
break;
}
case VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA:
{
/* The host needs data in the specified format. */
LogRelFlowFunc(("VBOX_SHARED_CLIPBOARD_HOST_MSG_READ_DATA u32Formats=%x\n", u32Formats));
BMessage msg(VBOX_GUEST_CLIPBOARD_HOST_MSG_READ_DATA);
msg.AddInt32("Formats", (uint32)u32Formats);
Looper()->PostMessage(&msg, this);
break;
}
case VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT:
{
/* The host is terminating. */
LogRelFlowFunc(("VBOX_SHARED_CLIPBOARD_HOST_MSG_QUIT\n"));
fExiting = true;
return VERR_INTERRUPTED;
}
default:
Log(("VBoxClipboardService::%s: Unsupported message from host! Message = %u\n", __FUNCTION__, u32Msg));
}
}
else
fExiting = true;
LogRelFlow(("processed host event rc = %d\n", rc));
if (fExiting)
break;
}
return 0;
}
开发者ID:MadHacker217,项目名称:VirtualBox-OSE,代码行数:59,代码来源:VBoxClipboard.cpp
示例14: MouseDownComponent
void TTextControlComponent::MouseDown(BPoint point)
{
if (Looper()->Lock())
{
MouseDownComponent("Component",DRAG_COMPONENT,this,point);
Looper()->Unlock();
}
}
开发者ID:HaikuArchives,项目名称:BeBuilder,代码行数:8,代码来源:TextControlComponent.cpp
示例15: MouseDownComponent
void TRadioButtonComponent::MouseDown(BPoint point)
{
if (Looper()->Lock())
{
MouseDownComponent("Component",DRAG_COMPONENT,this,point);
Looper()->Unlock();
}
}
开发者ID:HaikuArchives,项目名称:BeBuilder,代码行数:8,代码来源:RadioButtonComponent.cpp
示例16: switch
void TMediaTabView::MessageReceived(BMessage* message)
{
// Check for messages to switch the view
bool buttonMsg = false;
EChildID newView;
switch (message->what)
{
case MEDIA_TAB_LIST_VIEW_MSG:
newView = kElementsView;
buttonMsg = true;
break;
case MEDIA_TAB_THUMBNAIL_VIEW_MSG:
newView = kThumbnailView;
buttonMsg = true;
break;
case MEDIA_TAB_ICON_VIEW_MSG:
newView = kIconView;
buttonMsg = true;
break;
}
if (buttonMsg) {
if (newView != fCurrentView) {
// Protect this section of code.
Looper()->Lock();
DeactivateView(fCurrentView);
fCurrentView = newView;
ActivateView(fCurrentView);
Looper()->Unlock();
}
return;
}
// Accept messages from the sorter object
switch (message->what)
{
case SORTER_SELECT_MSG:
case SORTER_INVOKE_MSG:
if (fCurrentView == kElementsView)
ChildAt(fCurrentView)->MessageReceived(message);
return;
// Some cue is adding an entry_ref to our browser
// TODO: include the other two views in this. They can
// have a new REF as well.
case ADD_REF_MSG:
if (fCurrentView == kElementsView)
ChildAt(fCurrentView)->MessageReceived(message);
return;
}
// Default handler
BView::MessageReceived(message);
}
开发者ID:Barrett17,项目名称:UltraDV,代码行数:56,代码来源:TMediaTabView.cpp
示例17: ArpD
status_t ArpConfigureFile::StopWatcher(void)
{
ArpD(cdb << ADH << "Stopping watcher..." << endl);
status_t err = B_NO_ERROR;
if( mNode != node_ref() ) {
err = watch_node(&mNode, B_STOP_WATCHING, this);
}
if( Looper() ) Looper()->RemoveHandler(this);
return err;
}
开发者ID:dtbinh,项目名称:Sequitur,代码行数:11,代码来源:ArpConfigureFile.cpp
示例18: Looper
void
MediaReplicant::MouseDown(BPoint point)
{
int32 buttons = B_PRIMARY_MOUSE_BUTTON;
if (Looper() != NULL && Looper()->CurrentMessage() != NULL)
Looper()->CurrentMessage()->FindInt32("buttons", &buttons);
BPoint where = ConvertToScreen(point);
if ((buttons & B_SECONDARY_MOUSE_BUTTON) != 0) {
BPopUpMenu* menu = new BPopUpMenu("", false, false);
menu->SetFont(be_plain_font);
menu->AddItem(new BMenuItem(
B_TRANSLATE("Media preferences" B_UTF8_ELLIPSIS),
new BMessage(kMsgOpenMediaSettings)));
menu->AddItem(new BMenuItem(
B_TRANSLATE("Sound preferences" B_UTF8_ELLIPSIS),
new BMessage(kMsgOpenSoundSettings)));
menu->AddSeparatorItem();
menu->AddItem(new BMenuItem(B_TRANSLATE("Open MediaPlayer"),
new BMessage(kMsgOpenMediaPlayer)));
menu->AddSeparatorItem();
BMenu* subMenu = new BMenu(B_TRANSLATE("Options"));
menu->AddItem(subMenu);
BMenuItem* item = new BMenuItem(B_TRANSLATE("Control physical output"),
new BMessage(kMsgVolumeWhich));
item->SetMarked(fVolumeWhich == VOLUME_USE_PHYS_OUTPUT);
subMenu->AddItem(item);
item = new BMenuItem(B_TRANSLATE("Beep"),
new BMessage(kMsgToggleBeep));
item->SetMarked(!fDontBeep);
subMenu->AddItem(item);
menu->SetTargetForItems(this);
subMenu->SetTargetForItems(this);
menu->Go(where, true, true, BRect(where - BPoint(4, 4),
where + BPoint(4, 4)));
} else {
// Show VolumeWindow
fVolumeSlider = new VolumeWindow(BRect(where.x, where.y,
where.x + 207, where.y + 19), fDontBeep, fVolumeWhich);
fVolumeSlider->Show();
}
}
开发者ID:mmadia,项目名称:Haiku-services-branch,代码行数:52,代码来源:MediaReplicant.cpp
示例19: printf
void TScrollViewComponent::MouseDown(BPoint point)
{
printf("TScrollViewComponent::MouseDown X: %f Y: %f\n",point.x,point.y);
if (Looper()->Lock())
{
MouseDownComponent("Component",DRAG_COMPONENT,this,point);
Looper()->Unlock();
}
//BPoint truc(0,0);
FrameMoved(point);
}
开发者ID:HaikuArchives,项目名称:BeBuilder,代码行数:13,代码来源:ScrollViewComponent.cpp
示例20: _KeyAt
void
KeyboardLayoutView::MouseDown(BPoint point)
{
fClickPoint = point;
fDragKey = NULL;
fDropPoint.x = -1;
Key* key = _KeyAt(point);
if (key == NULL)
return;
int32 buttons = 0;
if (Looper() != NULL && Looper()->CurrentMessage() != NULL)
Looper()->CurrentMessage()->FindInt32("buttons", &buttons);
if ((buttons & B_TERTIARY_MOUSE_BUTTON) != 0
&& (fButtons & B_TERTIARY_MOUSE_BUTTON) == 0) {
// toggle the "deadness" of dead keys via middle mouse button
if (fKeymap != NULL) {
bool isEnabled = false;
uint8 deadKey
= fKeymap->DeadKey(key->code, fModifiers, &isEnabled);
if (deadKey > 0) {
fKeymap->SetDeadKeyEnabled(key->code, fModifiers, !isEnabled);
_InvalidateKey(key);
}
}
} else {
if (fKeymap != NULL && fKeymap->IsModifierKey(key->code)) {
if (_KeyState(key->code)) {
uint32 modifier = fKeymap->Modifier(key->code);
if ((modifier & modifiers()) == 0) {
_SetKeyState(key->code, false);
fModifiers &= ~modifier;
Invalidate();
}
} else {
_SetKeyState(key->code, true);
fModifiers |= fKeymap->Modifier(key->code);
Invalidate();
}
// TODO: if possible, we could handle the lock keys for real
} else {
_SetKeyState(key->code, true);
_InvalidateKey(key);
}
}
fButtons = buttons;
}
开发者ID:AmirAbrams,项目名称:haiku,代码行数:51,代码来源:KeyboardLayoutView.cpp
注:本文中的Looper函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论