mirror of
https://github.com/nextcloud/desktop.git
synced 2024-12-17 19:31:48 +03:00
bb5c370575
The bug seems to be in Windows when it upscales an smaller icon for HiDPI displays. It works fine if we provide a 256x256 size in the ico files. Use the new square icons also used on OS X that removes the share badge and instead has a share icon only for the OK state. This means that we can also remove 3 icons and release 3 slots in the registry for overlay icons (only the first few are actually loaded by explorer). This also adds a script that uses ImageMagick to convert our SVG icons to Windows ico files. Since ImageMagick seems to have issue doing proper antialiasing with pixels on the edge of icons, this also slightly scale the icons to leave 2px on each edge, out of its logical 128px width.
46 lines
No EOL
1.2 KiB
C++
46 lines
No EOL
1.2 KiB
C++
/**
|
|
* Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
|
|
*
|
|
* This library is free software; you can redistribute it and/or modify it under
|
|
* the terms of the GNU Lesser General Public License as published by the Free
|
|
* Software Foundation; either version 2.1 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*/
|
|
|
|
#ifndef OCOVERLAYFACTORY_H
|
|
#define OCOVERLAYFACTORY_H
|
|
|
|
#pragma once
|
|
|
|
enum State {
|
|
State_Error = 0,
|
|
State_OK, State_OKShared,
|
|
State_Sync,
|
|
State_Warning
|
|
};
|
|
|
|
class OCOverlayFactory : public IClassFactory
|
|
{
|
|
public:
|
|
OCOverlayFactory(int state);
|
|
|
|
IFACEMETHODIMP_(ULONG) AddRef();
|
|
IFACEMETHODIMP CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppv);
|
|
IFACEMETHODIMP LockServer(BOOL fLock);
|
|
IFACEMETHODIMP QueryInterface(REFIID riid, void **ppv);
|
|
IFACEMETHODIMP_(ULONG) Release();
|
|
|
|
protected:
|
|
~OCOverlayFactory();
|
|
|
|
private:
|
|
long _referenceCount;
|
|
int _state;
|
|
};
|
|
|
|
#endif |