author | alwin <alwin> | 2004-04-21 10:47:31 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-21 10:47:31 (UTC) |
commit | 6902a2e25e93f2c2d472b89a35e19668dffd4866 (patch) (unidiff) | |
tree | 7512cf17ca49b420dd4e6c9758fcc846b5e8cd1a | |
parent | f4ab243362a9b93f17e92bbf3189324f66c8f686 (diff) | |
download | opie-6902a2e25e93f2c2d472b89a35e19668dffd4866.zip opie-6902a2e25e93f2c2d472b89a35e19668dffd4866.tar.gz opie-6902a2e25e93f2c2d472b89a35e19668dffd4866.tar.bz2 |
improved painting, eg., when clip area is outside image we must not
paint the image of course....
-rw-r--r-- | libopie2/opiemm/oimagescrollview.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp index a8165a4..73df3ff 100644 --- a/libopie2/opiemm/oimagescrollview.cpp +++ b/libopie2/opiemm/oimagescrollview.cpp | |||
@@ -255,308 +255,323 @@ void OImageScrollView::rotate_into_data(Rotation r) | |||
255 | for ( x=0; x < _original_data.width(); ++x ) | 255 | for ( x=0; x < _original_data.width(); ++x ) |
256 | destData[_original_data.width()-x-1] = srcData[x]; | 256 | destData[_original_data.width()-x-1] = srcData[x]; |
257 | } | 257 | } |
258 | break; | 258 | break; |
259 | case Rotate270: | 259 | case Rotate270: |
260 | dest.create(_original_data.height(), _original_data.width(), _original_data.depth()); | 260 | dest.create(_original_data.height(), _original_data.width(), _original_data.depth()); |
261 | for ( y=0; y < _original_data.height(); ++y ) | 261 | for ( y=0; y < _original_data.height(); ++y ) |
262 | { | 262 | { |
263 | srcData = (unsigned int *)_original_data.scanLine(y); | 263 | srcData = (unsigned int *)_original_data.scanLine(y); |
264 | for ( x=0; x < _original_data.width(); ++x ) | 264 | for ( x=0; x < _original_data.width(); ++x ) |
265 | { | 265 | { |
266 | destData = (unsigned int *)dest.scanLine(_original_data.width()-x-1); | 266 | destData = (unsigned int *)dest.scanLine(_original_data.width()-x-1); |
267 | destData[y] = srcData[x]; | 267 | destData[y] = srcData[x]; |
268 | } | 268 | } |
269 | } | 269 | } |
270 | break; | 270 | break; |
271 | default: | 271 | default: |
272 | dest = _original_data; | 272 | dest = _original_data; |
273 | break; | 273 | break; |
274 | } | 274 | } |
275 | } | 275 | } |
276 | else | 276 | else |
277 | { | 277 | { |
278 | unsigned char *srcData, *destData; | 278 | unsigned char *srcData, *destData; |
279 | unsigned int *srcTable, *destTable; | 279 | unsigned int *srcTable, *destTable; |
280 | switch ( r ) | 280 | switch ( r ) |
281 | { | 281 | { |
282 | case Rotate90: | 282 | case Rotate90: |
283 | dest.create(_original_data.height(), _original_data.width(), _original_data.depth()); | 283 | dest.create(_original_data.height(), _original_data.width(), _original_data.depth()); |
284 | dest.setNumColors(_original_data.numColors()); | 284 | dest.setNumColors(_original_data.numColors()); |
285 | srcTable = (unsigned int *)_original_data.colorTable(); | 285 | srcTable = (unsigned int *)_original_data.colorTable(); |
286 | destTable = (unsigned int *)dest.colorTable(); | 286 | destTable = (unsigned int *)dest.colorTable(); |
287 | for ( x=0; x < _original_data.numColors(); ++x ) | 287 | for ( x=0; x < _original_data.numColors(); ++x ) |
288 | destTable[x] = srcTable[x]; | 288 | destTable[x] = srcTable[x]; |
289 | for ( y=0; y < _original_data.height(); ++y ) | 289 | for ( y=0; y < _original_data.height(); ++y ) |
290 | { | 290 | { |
291 | srcData = (unsigned char *)_original_data.scanLine(y); | 291 | srcData = (unsigned char *)_original_data.scanLine(y); |
292 | for ( x=0; x < _original_data.width(); ++x ) | 292 | for ( x=0; x < _original_data.width(); ++x ) |
293 | { | 293 | { |
294 | destData = (unsigned char *)dest.scanLine(x); | 294 | destData = (unsigned char *)dest.scanLine(x); |
295 | destData[_original_data.height()-y-1] = srcData[x]; | 295 | destData[_original_data.height()-y-1] = srcData[x]; |
296 | } | 296 | } |
297 | } | 297 | } |
298 | break; | 298 | break; |
299 | case Rotate180: | 299 | case Rotate180: |
300 | dest.create(_original_data.width(), _original_data.height(), _original_data.depth()); | 300 | dest.create(_original_data.width(), _original_data.height(), _original_data.depth()); |
301 | dest.setNumColors(_original_data.numColors()); | 301 | dest.setNumColors(_original_data.numColors()); |
302 | srcTable = (unsigned int *)_original_data.colorTable(); | 302 | srcTable = (unsigned int *)_original_data.colorTable(); |
303 | destTable = (unsigned int *)dest.colorTable(); | 303 | destTable = (unsigned int *)dest.colorTable(); |
304 | for ( x=0; x < _original_data.numColors(); ++x ) | 304 | for ( x=0; x < _original_data.numColors(); ++x ) |
305 | destTable[x] = srcTable[x]; | 305 | destTable[x] = srcTable[x]; |
306 | for ( y=0; y < _original_data.height(); ++y ) | 306 | for ( y=0; y < _original_data.height(); ++y ) |
307 | { | 307 | { |
308 | srcData = (unsigned char *)_original_data.scanLine(y); | 308 | srcData = (unsigned char *)_original_data.scanLine(y); |
309 | destData = (unsigned char *)dest.scanLine(_original_data.height()-y-1); | 309 | destData = (unsigned char *)dest.scanLine(_original_data.height()-y-1); |
310 | for ( x=0; x < _original_data.width(); ++x ) | 310 | for ( x=0; x < _original_data.width(); ++x ) |
311 | destData[_original_data.width()-x-1] = srcData[x]; | 311 | destData[_original_data.width()-x-1] = srcData[x]; |
312 | } | 312 | } |
313 | break; | 313 | break; |
314 | case Rotate270: | 314 | case Rotate270: |
315 | dest.create(_original_data.height(), _original_data.width(), _original_data.depth()); | 315 | dest.create(_original_data.height(), _original_data.width(), _original_data.depth()); |
316 | dest.setNumColors(_original_data.numColors()); | 316 | dest.setNumColors(_original_data.numColors()); |
317 | srcTable = (unsigned int *)_original_data.colorTable(); | 317 | srcTable = (unsigned int *)_original_data.colorTable(); |
318 | destTable = (unsigned int *)dest.colorTable(); | 318 | destTable = (unsigned int *)dest.colorTable(); |
319 | for ( x=0; x < _original_data.numColors(); ++x ) | 319 | for ( x=0; x < _original_data.numColors(); ++x ) |
320 | destTable[x] = srcTable[x]; | 320 | destTable[x] = srcTable[x]; |
321 | for ( y=0; y < _original_data.height(); ++y ) | 321 | for ( y=0; y < _original_data.height(); ++y ) |
322 | { | 322 | { |
323 | srcData = (unsigned char *)_original_data.scanLine(y); | 323 | srcData = (unsigned char *)_original_data.scanLine(y); |
324 | for ( x=0; x < _original_data.width(); ++x ) | 324 | for ( x=0; x < _original_data.width(); ++x ) |
325 | { | 325 | { |
326 | destData = (unsigned char *)dest.scanLine(_original_data.width()-x-1); | 326 | destData = (unsigned char *)dest.scanLine(_original_data.width()-x-1); |
327 | destData[y] = srcData[x]; | 327 | destData[y] = srcData[x]; |
328 | } | 328 | } |
329 | } | 329 | } |
330 | break; | 330 | break; |
331 | default: | 331 | default: |
332 | dest = _original_data; | 332 | dest = _original_data; |
333 | break; | 333 | break; |
334 | } | 334 | } |
335 | 335 | ||
336 | } | 336 | } |
337 | _image_data = dest; | 337 | _image_data = dest; |
338 | } | 338 | } |
339 | 339 | ||
340 | void OImageScrollView::generateImage() | 340 | void OImageScrollView::generateImage() |
341 | { | 341 | { |
342 | Rotation r = Rotate0; | 342 | Rotation r = Rotate0; |
343 | _pdata = QPixmap(); | 343 | _pdata = QPixmap(); |
344 | if (_original_data.isNull()) { | 344 | if (_original_data.isNull()) { |
345 | emit imageSizeChanged( _image_data.size() ); | 345 | emit imageSizeChanged( _image_data.size() ); |
346 | if (_zoomer) _zoomer->setImage( _image_data ); | 346 | if (_zoomer) _zoomer->setImage( _image_data ); |
347 | return; | 347 | return; |
348 | } | 348 | } |
349 | if (width()>height()&&_original_data.width()<_original_data.height() || | 349 | if (width()>height()&&_original_data.width()<_original_data.height() || |
350 | width()<height()&&_original_data.width()>_original_data.height()) { | 350 | width()<height()&&_original_data.width()>_original_data.height()) { |
351 | if (AutoRotate()) r = Rotate90; | 351 | if (AutoRotate()) r = Rotate90; |
352 | } | 352 | } |
353 | 353 | ||
354 | int twidth,theight; | 354 | int twidth,theight; |
355 | odebug << " r = " << r << oendl; | 355 | odebug << " r = " << r << oendl; |
356 | if (AutoScale() && (_original_data.width()>width() || _original_data.height() > height()) ) { | 356 | if (AutoScale() && (_original_data.width()>width() || _original_data.height() > height()) ) { |
357 | if (!_image_data.size().isValid()||width()>_image_data.width()||height()>_image_data.height()) { | 357 | if (!_image_data.size().isValid()||width()>_image_data.width()||height()>_image_data.height()) { |
358 | odebug << "Rescaling data" << oendl; | 358 | odebug << "Rescaling data" << oendl; |
359 | if (r==Rotate0) { | 359 | if (r==Rotate0) { |
360 | _image_data = _original_data; | 360 | _image_data = _original_data; |
361 | } else { | 361 | } else { |
362 | rotate_into_data(r); | 362 | rotate_into_data(r); |
363 | } | 363 | } |
364 | } | 364 | } |
365 | rescaleImage(width(),height()); | 365 | rescaleImage(width(),height()); |
366 | } else if (!FirstResizeDone()||r!=m_last_rot||_image_data.width()==0) { | 366 | } else if (!FirstResizeDone()||r!=m_last_rot||_image_data.width()==0) { |
367 | if (r==Rotate0) { | 367 | if (r==Rotate0) { |
368 | _image_data = _original_data; | 368 | _image_data = _original_data; |
369 | } else { | 369 | } else { |
370 | rotate_into_data(r); | 370 | rotate_into_data(r); |
371 | } | 371 | } |
372 | m_last_rot = r; | 372 | m_last_rot = r; |
373 | } | 373 | } |
374 | _pdata.convertFromImage(_image_data); | 374 | _pdata.convertFromImage(_image_data); |
375 | twidth = _image_data.width(); | 375 | twidth = _image_data.width(); |
376 | theight = _image_data.height(); | 376 | theight = _image_data.height(); |
377 | 377 | ||
378 | /* | 378 | /* |
379 | * update the zoomer | 379 | * update the zoomer |
380 | */ | 380 | */ |
381 | check_zoomer(); | 381 | check_zoomer(); |
382 | emit imageSizeChanged( _image_data.size() ); | 382 | emit imageSizeChanged( _image_data.size() ); |
383 | rescaleImage( 128, 128 ); | 383 | rescaleImage( 128, 128 ); |
384 | resizeContents(twidth,theight); | 384 | resizeContents(twidth,theight); |
385 | /* | 385 | /* |
386 | * move scrollbar | 386 | * move scrollbar |
387 | */ | 387 | */ |
388 | if (_zoomer) { | 388 | if (_zoomer) { |
389 | _zoomer->setGeometry( viewport()->width()-_image_data.width()/2, viewport()->height()-_image_data.height()/2, | 389 | _zoomer->setGeometry( viewport()->width()-_image_data.width()/2, viewport()->height()-_image_data.height()/2, |
390 | _image_data.width()/2, _image_data.height()/2 ); | 390 | _image_data.width()/2, _image_data.height()/2 ); |
391 | _zoomer->setImage( _image_data ); | 391 | _zoomer->setImage( _image_data ); |
392 | } | 392 | } |
393 | /* | 393 | /* |
394 | * invalidate | 394 | * invalidate |
395 | */ | 395 | */ |
396 | _image_data=QImage(); | 396 | _image_data=QImage(); |
397 | if (isVisible()) { | 397 | if (isVisible()) { |
398 | updateContents(contentsX(),contentsY(),width(),height()); | 398 | updateContents(contentsX(),contentsY(),width(),height()); |
399 | } | 399 | } |
400 | } | 400 | } |
401 | 401 | ||
402 | void OImageScrollView::resizeEvent(QResizeEvent * e) | 402 | void OImageScrollView::resizeEvent(QResizeEvent * e) |
403 | { | 403 | { |
404 | odebug << "OImageScrollView resizeEvent" << oendl; | 404 | odebug << "OImageScrollView resizeEvent" << oendl; |
405 | QScrollView::resizeEvent(e); | 405 | QScrollView::resizeEvent(e); |
406 | generateImage(); | 406 | generateImage(); |
407 | setFirstResizeDone(true); | 407 | setFirstResizeDone(true); |
408 | emit viewportSizeChanged( viewport()->size() ); | 408 | emit viewportSizeChanged( viewport()->size() ); |
409 | 409 | ||
410 | } | 410 | } |
411 | 411 | ||
412 | void OImageScrollView::keyPressEvent(QKeyEvent * e) | 412 | void OImageScrollView::keyPressEvent(QKeyEvent * e) |
413 | { | 413 | { |
414 | if (!e) return; | 414 | if (!e) return; |
415 | int dx = horizontalScrollBar()->lineStep(); | 415 | int dx = horizontalScrollBar()->lineStep(); |
416 | int dy = verticalScrollBar()->lineStep(); | 416 | int dy = verticalScrollBar()->lineStep(); |
417 | if (e->key()==Qt::Key_Right) { | 417 | if (e->key()==Qt::Key_Right) { |
418 | scrollBy(dx,0); | 418 | scrollBy(dx,0); |
419 | e->accept(); | 419 | e->accept(); |
420 | } else if (e->key()==Qt::Key_Left) { | 420 | } else if (e->key()==Qt::Key_Left) { |
421 | scrollBy(0-dx,0); | 421 | scrollBy(0-dx,0); |
422 | e->accept(); | 422 | e->accept(); |
423 | } else if (e->key()==Qt::Key_Up) { | 423 | } else if (e->key()==Qt::Key_Up) { |
424 | scrollBy(0,0-dy); | 424 | scrollBy(0,0-dy); |
425 | e->accept(); | 425 | e->accept(); |
426 | } else if (e->key()==Qt::Key_Down) { | 426 | } else if (e->key()==Qt::Key_Down) { |
427 | scrollBy(0,dy); | 427 | scrollBy(0,dy); |
428 | e->accept(); | 428 | e->accept(); |
429 | } else { | 429 | } else { |
430 | e->ignore(); | 430 | e->ignore(); |
431 | } | 431 | } |
432 | QScrollView::keyPressEvent(e); | 432 | QScrollView::keyPressEvent(e); |
433 | } | 433 | } |
434 | 434 | ||
435 | void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clipw, int cliph) | 435 | void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clipw, int cliph) |
436 | { | 436 | { |
437 | int w = clipw; | 437 | int w = clipw; |
438 | int h = cliph; | 438 | int h = cliph; |
439 | int x = clipx; | 439 | int x = clipx; |
440 | int y = clipy; | 440 | int y = clipy; |
441 | bool erase = false; | 441 | bool erase = false; |
442 | 442 | ||
443 | if (!_pdata.size().isValid()) { | 443 | if (!_pdata.size().isValid()) { |
444 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); | 444 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); |
445 | return; | 445 | return; |
446 | } | 446 | } |
447 | |||
447 | if (w>_pdata.width()) { | 448 | if (w>_pdata.width()) { |
448 | w=_pdata.width(); | 449 | w=_pdata.width(); |
449 | x = 0; | 450 | x = 0; |
450 | erase = true; | 451 | erase = true; |
451 | } else if (x+w>_pdata.width()){ | 452 | } else if (x+w>_pdata.width()){ |
452 | x = _pdata.width()-w; | 453 | x = _pdata.width()-w; |
453 | } | 454 | } |
455 | |||
454 | if (h>_pdata.height()) { | 456 | if (h>_pdata.height()) { |
455 | h=_pdata.height(); | 457 | h=_pdata.height(); |
456 | y = 0; | 458 | y = 0; |
457 | erase = true; | 459 | erase = true; |
458 | } else if (y+h>_pdata.height()){ | 460 | } else if (y+h>_pdata.height()){ |
459 | y = _pdata.height()-h; | 461 | y = _pdata.height()-h; |
460 | } | 462 | } |
461 | if (erase||_original_data.hasAlphaBuffer()) { | 463 | |
464 | if (erase||_original_data.hasAlphaBuffer()||clipy>_pdata.height()||clipx>_pdata.width()) { | ||
465 | odebug << QSize(clipx,clipy) << " # " << QSize(clipw,cliph) << oendl; | ||
462 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); | 466 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); |
463 | } | 467 | } |
464 | p->drawPixmap(clipx,clipy,_pdata,x,y,w,h); | 468 | odebug << QSize(x,y) << " - " << QSize(w,h) << oendl; |
469 | if (clipy<=_pdata.height()&&clipx<=_pdata.width()) { | ||
470 | #if 0 | ||
471 | odebug << "painting image content" << oendl; | ||
472 | #endif | ||
473 | p->drawPixmap(clipx,clipy,_pdata,x,y,w,h); | ||
474 | } | ||
475 | #if 0 | ||
476 | else { | ||
477 | odebug << "not painting image content" << oendl; | ||
478 | } | ||
479 | #endif | ||
465 | } | 480 | } |
466 | 481 | ||
467 | /* using the real geometry points and not the translated points is wanted! */ | 482 | /* using the real geometry points and not the translated points is wanted! */ |
468 | void OImageScrollView::viewportMouseMoveEvent(QMouseEvent* e) | 483 | void OImageScrollView::viewportMouseMoveEvent(QMouseEvent* e) |
469 | { | 484 | { |
470 | int mx, my; | 485 | int mx, my; |
471 | mx = e->x(); | 486 | mx = e->x(); |
472 | my = e->y(); | 487 | my = e->y(); |
473 | if (_mouseStartPosX!=-1 && _mouseStartPosY!=-1) { | 488 | if (_mouseStartPosX!=-1 && _mouseStartPosY!=-1) { |
474 | int diffx = _mouseStartPosX-mx; | 489 | int diffx = _mouseStartPosX-mx; |
475 | int diffy = _mouseStartPosY-my; | 490 | int diffy = _mouseStartPosY-my; |
476 | scrollBy(diffx,diffy); | 491 | scrollBy(diffx,diffy); |
477 | } | 492 | } |
478 | _mouseStartPosX=mx; | 493 | _mouseStartPosX=mx; |
479 | _mouseStartPosY=my; | 494 | _mouseStartPosY=my; |
480 | } | 495 | } |
481 | 496 | ||
482 | void OImageScrollView::contentsMousePressEvent ( QMouseEvent * e) | 497 | void OImageScrollView::contentsMousePressEvent ( QMouseEvent * e) |
483 | { | 498 | { |
484 | odebug << " X and Y " << e->x() << " " << e->y() << oendl; | 499 | odebug << " X and Y " << e->x() << " " << e->y() << oendl; |
485 | /* this marks the beginning of a possible mouse move. Due internal reasons of QT | 500 | /* this marks the beginning of a possible mouse move. Due internal reasons of QT |
486 | the geometry values here may real differ from that set in MoveEvent (I don't know | 501 | the geometry values here may real differ from that set in MoveEvent (I don't know |
487 | why). For getting them in real context, we use the first move-event to set the start | 502 | why). For getting them in real context, we use the first move-event to set the start |
488 | position ;) | 503 | position ;) |
489 | */ | 504 | */ |
490 | _mouseStartPosX = -1; | 505 | _mouseStartPosX = -1; |
491 | _mouseStartPosY = -1; | 506 | _mouseStartPosY = -1; |
492 | } | 507 | } |
493 | 508 | ||
494 | void OImageScrollView::setDestructiveClose() { | 509 | void OImageScrollView::setDestructiveClose() { |
495 | WFlags fl = getWFlags(); | 510 | WFlags fl = getWFlags(); |
496 | /* clear it just in case */ | 511 | /* clear it just in case */ |
497 | fl &= ~WDestructiveClose; | 512 | fl &= ~WDestructiveClose; |
498 | fl |= WDestructiveClose; | 513 | fl |= WDestructiveClose; |
499 | setWFlags( fl ); | 514 | setWFlags( fl ); |
500 | } | 515 | } |
501 | 516 | ||
502 | bool OImageScrollView::image_fit_into(const QSize&s ) | 517 | bool OImageScrollView::image_fit_into(const QSize&s ) |
503 | { | 518 | { |
504 | if (s.width()>width()||s.height()>height()) { | 519 | if (s.width()>width()||s.height()>height()) { |
505 | return false; | 520 | return false; |
506 | } | 521 | } |
507 | return true; | 522 | return true; |
508 | } | 523 | } |
509 | 524 | ||
510 | void OImageScrollView::setShowZoomer(bool how) | 525 | void OImageScrollView::setShowZoomer(bool how) |
511 | { | 526 | { |
512 | m_states.setBit(SHOW_ZOOMER,how); | 527 | m_states.setBit(SHOW_ZOOMER,how); |
513 | check_zoomer(); | 528 | check_zoomer(); |
514 | } | 529 | } |
515 | 530 | ||
516 | bool OImageScrollView::ShowZoomer()const | 531 | bool OImageScrollView::ShowZoomer()const |
517 | { | 532 | { |
518 | return m_states.testBit(SHOW_ZOOMER); | 533 | return m_states.testBit(SHOW_ZOOMER); |
519 | } | 534 | } |
520 | 535 | ||
521 | void OImageScrollView::check_zoomer() | 536 | void OImageScrollView::check_zoomer() |
522 | { | 537 | { |
523 | if (!_zoomer) return; | 538 | if (!_zoomer) return; |
524 | if ( (!ShowZoomer()||image_fit_into(_pdata.size()) ) && _zoomer->isVisible()) { | 539 | if ( (!ShowZoomer()||image_fit_into(_pdata.size()) ) && _zoomer->isVisible()) { |
525 | _zoomer->hide(); | 540 | _zoomer->hide(); |
526 | } else if ( ShowZoomer() && !image_fit_into(_pdata.size()) && _zoomer->isHidden()){ | 541 | } else if ( ShowZoomer() && !image_fit_into(_pdata.size()) && _zoomer->isHidden()){ |
527 | _zoomer->show(); | 542 | _zoomer->show(); |
528 | } | 543 | } |
529 | } | 544 | } |
530 | 545 | ||
531 | bool OImageScrollView::FirstResizeDone()const | 546 | bool OImageScrollView::FirstResizeDone()const |
532 | { | 547 | { |
533 | return m_states.testBit(FIRST_RESIZE_DONE); | 548 | return m_states.testBit(FIRST_RESIZE_DONE); |
534 | } | 549 | } |
535 | 550 | ||
536 | void OImageScrollView::setFirstResizeDone(bool how) | 551 | void OImageScrollView::setFirstResizeDone(bool how) |
537 | { | 552 | { |
538 | m_states.setBit(FIRST_RESIZE_DONE,how); | 553 | m_states.setBit(FIRST_RESIZE_DONE,how); |
539 | } | 554 | } |
540 | 555 | ||
541 | bool OImageScrollView::ImageIsJpeg()const | 556 | bool OImageScrollView::ImageIsJpeg()const |
542 | { | 557 | { |
543 | return m_states.testBit(IMAGE_IS_JPEG); | 558 | return m_states.testBit(IMAGE_IS_JPEG); |
544 | } | 559 | } |
545 | 560 | ||
546 | void OImageScrollView::setImageIsJpeg(bool how) | 561 | void OImageScrollView::setImageIsJpeg(bool how) |
547 | { | 562 | { |
548 | m_states.setBit(IMAGE_IS_JPEG,how); | 563 | m_states.setBit(IMAGE_IS_JPEG,how); |
549 | } | 564 | } |
550 | 565 | ||
551 | bool OImageScrollView::ImageScaledLoaded()const | 566 | bool OImageScrollView::ImageScaledLoaded()const |
552 | { | 567 | { |
553 | return m_states.testBit(IMAGE_SCALED_LOADED); | 568 | return m_states.testBit(IMAGE_SCALED_LOADED); |
554 | } | 569 | } |
555 | 570 | ||
556 | void OImageScrollView::setImageScaledLoaded(bool how) | 571 | void OImageScrollView::setImageScaledLoaded(bool how) |
557 | { | 572 | { |
558 | m_states.setBit(IMAGE_SCALED_LOADED,how); | 573 | m_states.setBit(IMAGE_SCALED_LOADED,how); |
559 | } | 574 | } |
560 | 575 | ||
561 | } // namespace MM | 576 | } // namespace MM |
562 | } // namespace Opie | 577 | } // namespace Opie |