work in progress to integrate vector icons with BNodeInfo,
BMimeType and Tracker in general, nothing should have changed visually, Tracker is now using 32 bpp icons though I hope I have not broken anything... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18632 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ SubInclude HAIKU_TOP src libs agg ;
|
|||||||
SubInclude HAIKU_TOP src libs bsd ;
|
SubInclude HAIKU_TOP src libs bsd ;
|
||||||
SubInclude HAIKU_TOP src libs crypt ;
|
SubInclude HAIKU_TOP src libs crypt ;
|
||||||
SubInclude HAIKU_TOP src libs edit ;
|
SubInclude HAIKU_TOP src libs edit ;
|
||||||
#SubInclude HAIKU_TOP src libs expat ;
|
SubInclude HAIKU_TOP src libs expat ;
|
||||||
SubInclude HAIKU_TOP src libs fluidsynth ;
|
SubInclude HAIKU_TOP src libs fluidsynth ;
|
||||||
SubInclude HAIKU_TOP src libs freetype2 ;
|
SubInclude HAIKU_TOP src libs freetype2 ;
|
||||||
SubInclude HAIKU_TOP src libs icon ;
|
SubInclude HAIKU_TOP src libs icon ;
|
||||||
|
|||||||
@@ -1,80 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2006, Haiku. All rights reserved.
|
|
||||||
* Distributed under the terms of the MIT License.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ICON_UTILS_H
|
|
||||||
#define ICON_UTILS_H
|
|
||||||
|
|
||||||
#include <Mime.h>
|
|
||||||
|
|
||||||
class BBitmap;
|
|
||||||
class BNode;
|
|
||||||
|
|
||||||
// This class is a little different from many other classes.
|
|
||||||
// You don't create an instance of it; you just call its various
|
|
||||||
// static member functions for utility-like operations.
|
|
||||||
class BIconUtils {
|
|
||||||
BIconUtils();
|
|
||||||
~BIconUtils();
|
|
||||||
BIconUtils(const BIconUtils&);
|
|
||||||
BIconUtils& operator=(const BIconUtils&);
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// Utility function to import an icon from the node that
|
|
||||||
// has either of the provided attribute names. Which icon type
|
|
||||||
// is preferred (vector, small or large B_CMAP8 icon) depends
|
|
||||||
// on the colorspace of the provided bitmap. If the colorspace
|
|
||||||
// is B_CMAP8, B_CMAP8 icons are preferred. If no vector icon
|
|
||||||
// is available, the bitmap size must match the provided
|
|
||||||
// icon_size "size"!
|
|
||||||
static status_t GetIcon(BNode* node,
|
|
||||||
const char* vectorIconAttrName,
|
|
||||||
const char* smallIconAttrName,
|
|
||||||
const char* largeIconAttrName,
|
|
||||||
icon_size size,
|
|
||||||
BBitmap* result);
|
|
||||||
|
|
||||||
// Utility functions to import a vector icon in "flat icon"
|
|
||||||
// format from a BNode attribute or from a flat buffer in
|
|
||||||
// memory into the preallocated BBitmap "result".
|
|
||||||
// The colorspace of result needs to be B_RGBA32 or at
|
|
||||||
// least B_RGB32 (though that makes less sense). The icon
|
|
||||||
// will be scaled from it's "native" size of 64x64 to the
|
|
||||||
// size of the bitmap, the scale is derived from the bitmap
|
|
||||||
// width, the bitmap should have square dimension, or the
|
|
||||||
// icon will be cut off at the bottom (or have room left).
|
|
||||||
static status_t GetVectorIcon(BNode* node,
|
|
||||||
const char* attrName,
|
|
||||||
BBitmap* result);
|
|
||||||
|
|
||||||
static status_t GetVectorIcon(const uint8* buffer,
|
|
||||||
size_t size,
|
|
||||||
BBitmap* result);
|
|
||||||
|
|
||||||
// Utility function to import an "old" BeOS icon in B_CMAP8
|
|
||||||
// colorspace from either the small icon attribute or the
|
|
||||||
// large icon attribute as given in "smallIconAttrName" and
|
|
||||||
// "largeIconAttrName". Which icon is loaded depends on
|
|
||||||
// the given "size".
|
|
||||||
static status_t GetCMAP8Icon(BNode* node,
|
|
||||||
const char* smallIconAttrName,
|
|
||||||
const char* largeIconAttrName,
|
|
||||||
icon_size size,
|
|
||||||
BBitmap* icon);
|
|
||||||
|
|
||||||
// Utility functions to convert from old icon colorspace
|
|
||||||
// into colorspace of BBitmap "result" (should be B_RGBA32
|
|
||||||
// to make any sense).
|
|
||||||
static status_t ConvertFromCMAP8(BBitmap* source,
|
|
||||||
BBitmap* result);
|
|
||||||
|
|
||||||
static status_t ConvertFromCMAP8(const uint8* data,
|
|
||||||
uint32 width, uint32 height,
|
|
||||||
uint32 bytesPerRow,
|
|
||||||
BBitmap* result);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ICON_UTILS_H
|
|
||||||
@@ -18,7 +18,7 @@ for sourceDir in $(sourceDirs) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# system headers
|
# system headers
|
||||||
UseLibraryHeaders agg ;
|
UseLibraryHeaders agg icon ;
|
||||||
|
|
||||||
UsePrivateHeaders shared ;
|
UsePrivateHeaders shared ;
|
||||||
|
|
||||||
|
|||||||
@@ -31,9 +31,10 @@
|
|||||||
# include "Icons.h"
|
# include "Icons.h"
|
||||||
# include "Property.h"
|
# include "Property.h"
|
||||||
# include "PropertyObject.h"
|
# include "PropertyObject.h"
|
||||||
# include "Transformable.h"
|
|
||||||
#endif // ICON_O_MATIC
|
#endif // ICON_O_MATIC
|
||||||
|
|
||||||
|
#include "Transformable.h"
|
||||||
|
|
||||||
#define obj_new(type, n) ((type *)malloc ((n) * sizeof(type)))
|
#define obj_new(type, n) ((type *)malloc ((n) * sizeof(type)))
|
||||||
#define obj_renew(p, type, n) ((type *)realloc (p, (n) * sizeof(type)))
|
#define obj_renew(p, type, n) ((type *)realloc (p, (n) * sizeof(type)))
|
||||||
#define obj_free free
|
#define obj_free free
|
||||||
|
|||||||
Reference in New Issue
Block a user