will support setting the drawing mode per object sometimes soon...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13202 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus 2005-06-17 13:23:06 +00:00
parent 2734243aca
commit 579be6b83e
2 changed files with 41 additions and 6 deletions

View File

@ -80,7 +80,6 @@ ObjectView::Draw(BRect updateRect)
DrawString(message, p);
SetDrawingMode(B_OP_ALPHA);
// SetDrawingMode(B_OP_OVER);
for (int32 i = 0; State* state = (State*)fStateList.ItemAt(i); i++)
state->Draw(this);

View File

@ -134,15 +134,51 @@ ObjectWindow::ObjectWindow(BRect frame, const char* name)
controlGroup->AddChild(radioButton);
// drawing mode
/* BPopUpMenu* popupMenu = new BPopUpMenu("<pick>");
BPopUpMenu* popupMenu = new BPopUpMenu("<pick>");
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_COPY);
popupMenu->AddItem(new BMenuItem("B_OP_COPY", message));
popupMenu->AddItem(new BMenuItem("Copy", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_OVER);
popupMenu->AddItem(new BMenuItem("B_OP_OVER", message));
popupMenu->AddItem(new BMenuItem("Over", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_INVERT);
popupMenu->AddItem(new BMenuItem("Invert", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_BLEND);
popupMenu->AddItem(new BMenuItem("Blend", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_SELECT);
popupMenu->AddItem(new BMenuItem("Select", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_ERASE);
popupMenu->AddItem(new BMenuItem("Erase", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_ADD);
popupMenu->AddItem(new BMenuItem("Add", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_SUBTRACT);
popupMenu->AddItem(new BMenuItem("Subtract", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_MIN);
popupMenu->AddItem(new BMenuItem("Min", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_MAX);
popupMenu->AddItem(new BMenuItem("Max", message));
message = new BMessage(MSG_SET_DRAWING_MODE);
message->AddInt32("mode", B_OP_ALPHA);
popupMenu->AddItem(new BMenuItem("Alpha", message));
b.OffsetBy(0, radioButton->Bounds().Height() + 5.0);
fDrawingModeMF = new BMenuField(b, "drawing mode field", "Mode",
@ -151,9 +187,9 @@ ObjectWindow::ObjectWindow(BRect frame, const char* name)
controlGroup->AddChild(fDrawingModeMF);
fDrawingModeMF->SetDivider(fDrawingModeMF->StringWidth(fDrawingModeMF->Label()) + 10.0);
*/
// red text control
b.OffsetBy(0, radioButton->Bounds().Height() + 5.0);
b.OffsetBy(0, fDrawingModeMF->Bounds().Height() + 5.0);
fRedTC = new BTextControl(b, "red text control", "Red", "",
new BMessage(MSG_SET_COLOR));
controlGroup->AddChild(fRedTC);