1// WorkView.cpp 2 3#include <Application.h> 4#include <TranslationUtils.h> 5#include <Bitmap.h> 6#include <stdio.h> 7#include <Path.h> 8#include "MultiTest.h" 9#include "WorkView.h" 10 11const char *kPath1 = "../data/images/image.jpg"; 12const char *kPath2 = "../data/images/image.gif"; 13 14WorkView::WorkView(BRect rect) 15 : BView(rect, "Work View", B_FOLLOW_ALL, B_WILL_DRAW | B_PULSE_NEEDED) 16{ 17 fbImage = true; 18 fPath = kPath1; 19} 20 21void 22WorkView::AttachedToWindow() 23{ 24 BTranslatorRoster *pRoster = NULL; 25 BBitmap *pBitmap; 26 27 //pRoster = ((MultiTestApplication *) be_app)->GetTranslatorRoster(); 28 29 pBitmap = BTranslationUtils::GetBitmap(fPath, pRoster); 30 if (pBitmap) { 31 SetViewBitmap(pBitmap); 32 delete pBitmap; 33 } 34} 35 36void 37WorkView::Pulse() 38{ 39 if (fbImage) { 40 ClearViewBitmap(); 41 fbImage = false; 42 if (fPath == kPath1) 43 fPath = kPath2; 44 else 45 fPath = kPath1; 46 } else { 47 //BTranslatorRoster *pRoster = NULL; 48 BBitmap *pBitmap = BTranslationUtils::GetBitmapFile(fPath); 49 if (pBitmap) { 50 ClearViewBitmap(); 51 SetViewBitmap(pBitmap); 52 delete pBitmap; 53 } else { 54 BPath Path(fPath); 55 printf("-- failed to get bitmap (%s)!\n", Path.Path()); 56 } 57 fbImage = true; 58 } 59 60 Invalidate(); 61} 62