michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef __inFlasher_h__ michael@0: #define __inFlasher_h__ michael@0: michael@0: #include "inIFlasher.h" michael@0: #include "nsCoord.h" michael@0: #include "nsColor.h" michael@0: michael@0: class nsRenderingContext; michael@0: michael@0: #define BOUND_INNER 0 michael@0: #define BOUND_OUTER 1 michael@0: michael@0: #define DIR_VERTICAL 0 michael@0: #define DIR_HORIZONTAL 1 michael@0: michael@0: class inFlasher : public inIFlasher michael@0: { michael@0: public: michael@0: NS_DECL_ISUPPORTS michael@0: NS_DECL_INIFLASHER michael@0: michael@0: inFlasher(); michael@0: virtual ~inFlasher(); michael@0: michael@0: protected: michael@0: void DrawOutline(nscoord aX, nscoord aY, nscoord aWidth, nscoord aHeight, michael@0: nsRenderingContext* aRenderContext, michael@0: bool aDrawBegin, bool aDrawEnd); michael@0: void DrawLine(nscoord aX, nscoord aY, nscoord aLength, michael@0: bool aDir, bool aBounds, michael@0: nsRenderingContext* aRenderContext); michael@0: michael@0: nscolor mColor; michael@0: michael@0: uint16_t mThickness; michael@0: bool mInvert; michael@0: }; michael@0: michael@0: // {9286E71A-621A-4b91-851E-9984C1A2E81A} michael@0: #define IN_FLASHER_CID \ michael@0: { 0x9286e71a, 0x621a, 0x4b91, { 0x85, 0x1e, 0x99, 0x84, 0xc1, 0xa2, 0xe8, 0x1a } } michael@0: michael@0: #endif // __inFlasher_h__