X-Git-Url: http://ecere.com/cgi-bin/gitweb.cgi?p=ede;a=blobdiff_plain;f=libede%2Fsrc%2FFileSystemBox.ec;h=61f5df958bd841290a597f46a2c79fad354c8afd;hp=b880c7570eff15c3641b0a737c28020bc4511920;hb=0e4fcdfc4d025c0e6136400d73f4c4b4f0bdb6d1;hpb=4a4919248d8e72bbe1fb5ca950cc99c8bb734061 diff --git a/libede/src/FileSystemBox.ec b/libede/src/FileSystemBox.ec index b880c75..61f5df9 100644 --- a/libede/src/FileSystemBox.ec +++ b/libede/src/FileSystemBox.ec @@ -321,6 +321,29 @@ public: if(icon) { + w = icon.width; + h = icon.height; + } + if(type == pictureFile && fsb.previewPictures && bitmap) + { + surface.SetForeground(white); + surface.blend = true; + //#ifndef __linux__ + //surface.Filter(bitmap, (clientSize.w - w) / 2,(clientSize.h - h) / 2, 0,0, w, h, bitmap.width, bitmap.height); + //surface.Filter(bitmap, x + indent/* * indentSize*/ + 2, y, 0, 0, w, h, bitmap.width, bitmap.height); + surface.Filter(bitmap, x,y,0,0, w, h, bitmap.width, bitmap.height); + //#else + // Until Filter / Stretch works with X + //surface.Blit(bitmap, (clientSize.w - bitmap.width) / 2,(clientSize.h - bitmap.height) / 2, 0,0, bitmap.width, bitmap.height); + // surface.blend = true; + //surface.Blit(bitmap, x + indent/* * indentSize*/ + 2, y,0,0, w, h); + //surface.Blit(bitmap, x,y,0,0, bitmap.width, bitmap.height); + //#endif + //bitmap.Free(); + //delete bitmap; + } + else if(icon) + { //surface.blend = true; //surface.alphaWrite = blend; surface.SetForeground(white); @@ -450,7 +473,7 @@ static FileSystemNode MakeFileSystemNode(const FileStats stats, if(node.type == pictureFile && previewPicture) { - node.bitmap = Bitmap { }; + node.bitmap = Bitmap { alphaBlend = true }; node.bitmap.Load(filePath, null, displaySystem); } @@ -560,6 +583,11 @@ public: return null; } + void Refresh() + { + Load(); + } + private: FileSystemBoxBits bits; @@ -592,9 +620,9 @@ private: } } - DataField nameField { dataType = "FileSystemNode", width = 240, userData = this }; + DataField nameField { dataType = "FileSystemNode", width = 240, userData = this, freeData = false }; DataField typeField { header = "Type", dataType = /*"String"*/ "char *", width = 40, freeData = false }; - DataField sizeField { header = "Size", dataType = "FileSize", width = 96, alignment = right }; + DataField sizeField { header = "Size", dataType = "FileSize", width = 96, alignment = right, freeData = false }; bool OnPostCreate() {