// WorkView.cpp #include #include #include #include #include #include "MultiTest.h" #include "WorkView.h" const char *kPath1 = "../data/images/image.jpg"; const char *kPath2 = "../data/images/image.gif"; WorkView::WorkView(BRect rect) : BView(rect, "Work View", B_FOLLOW_ALL, B_WILL_DRAW | B_PULSE_NEEDED) { fbImage = true; fPath = kPath1; } void WorkView::AttachedToWindow() { BTranslatorRoster *pRoster = NULL; BBitmap *pBitmap; //pRoster = ((MultiTestApplication *) be_app)->GetTranslatorRoster(); pBitmap = BTranslationUtils::GetBitmap(fPath, pRoster); if (pBitmap) { SetViewBitmap(pBitmap); delete pBitmap; } } void WorkView::Pulse() { if (fbImage) { ClearViewBitmap(); fbImage = false; if (fPath == kPath1) fPath = kPath2; else fPath = kPath1; } else { //BTranslatorRoster *pRoster = NULL; BBitmap *pBitmap = BTranslationUtils::GetBitmapFile(fPath); if (pBitmap) { ClearViewBitmap(); SetViewBitmap(pBitmap); delete pBitmap; } else { BPath Path(fPath); printf("-- failed to get bitmap (%s)!\n", Path.Path()); } fbImage = true; } Invalidate(); }