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