IconView: Scale icon_size constants.
Part of #17914. Also affects DataTranslators.
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <ControlLook.h>
|
||||
#include <Entry.h>
|
||||
#include <IconUtils.h>
|
||||
#include <Node.h>
|
||||
@@ -27,7 +28,7 @@ IconView::IconView(icon_size iconSize)
|
||||
:
|
||||
BView("IconView", B_WILL_DRAW),
|
||||
fIconSize(iconSize),
|
||||
fIconBitmap(new BBitmap(BRect(iconSize), B_RGBA32)),
|
||||
fIconBitmap(NULL),
|
||||
fDrawIcon(false)
|
||||
{
|
||||
SetViewUIColor(B_PANEL_BACKGROUND_COLOR);
|
||||
@@ -46,8 +47,9 @@ IconView::SetIcon(const BPath& path, icon_size iconSize)
|
||||
{
|
||||
fDrawIcon = false;
|
||||
|
||||
if (iconSize != fIconSize) {
|
||||
BBitmap* bitmap = new BBitmap(BRect(iconSize), B_RGBA32);
|
||||
if (iconSize != fIconSize || fIconBitmap == NULL) {
|
||||
BBitmap* bitmap = new BBitmap(BRect(BPoint(0, 0),
|
||||
be_control_look->ComposeIconSize(iconSize)), B_RGBA32);
|
||||
if (bitmap == NULL)
|
||||
return B_NO_MEMORY;
|
||||
|
||||
@@ -64,7 +66,8 @@ IconView::SetIcon(const BPath& path, icon_size iconSize)
|
||||
BNode node(&entry);
|
||||
BNodeInfo info(&node);
|
||||
|
||||
status = info.GetTrackerIcon(fIconBitmap, fIconSize);
|
||||
status = info.GetTrackerIcon(fIconBitmap,
|
||||
(icon_size)fIconBitmap->Bounds().IntegerWidth());
|
||||
if (status != B_OK)
|
||||
return status;
|
||||
|
||||
@@ -84,8 +87,9 @@ IconView::SetIcon(const uint8_t* data, size_t size, icon_size iconSize)
|
||||
{
|
||||
fDrawIcon = false;
|
||||
|
||||
if (iconSize != fIconSize) {
|
||||
BBitmap* bitmap = new BBitmap(BRect(iconSize), B_RGBA32);
|
||||
if (iconSize != fIconSize || fIconBitmap == NULL) {
|
||||
BBitmap* bitmap = new BBitmap(BRect(BPoint(0, 0),
|
||||
be_control_look->ComposeIconSize(iconSize)), B_RGBA32);
|
||||
if (bitmap == NULL)
|
||||
return B_NO_MEMORY;
|
||||
|
||||
@@ -130,7 +134,7 @@ IconView::SetIcon(const BBitmap* icon)
|
||||
if (status != B_OK)
|
||||
return status;
|
||||
|
||||
fIconSize = (icon_size)(fIconBitmap->Bounds().IntegerWidth() + 1);
|
||||
fIconSize = (icon_size)-1;
|
||||
_SetSize();
|
||||
|
||||
fDrawIcon = true;
|
||||
@@ -176,7 +180,7 @@ IconView::InitCheck() const
|
||||
void
|
||||
IconView::_SetSize()
|
||||
{
|
||||
SetExplicitMinSize(BSize(fIconSize, fIconSize));
|
||||
SetExplicitMaxSize(BSize(fIconSize, fIconSize));
|
||||
SetExplicitPreferredSize(BSize(fIconSize, fIconSize));
|
||||
SetExplicitMinSize(fIconBitmap->Bounds().Size());
|
||||
SetExplicitMaxSize(fIconBitmap->Bounds().Size());
|
||||
SetExplicitPreferredSize(fIconBitmap->Bounds().Size());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user