IconView: Scale icon_size constants.

Part of #17914. Also affects DataTranslators.
This commit is contained in:
Augustin Cavalier
2022-09-27 18:32:45 -04:00
parent 1272bd2a7f
commit 2d9b9e209b
+14 -10
View File
@@ -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());
}