summaryrefslogtreecommitdiffstats
path: root/widget/windows/nsImageClipboard.h
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-02-07 22:06:24 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-02-07 22:06:24 +0100
commit6992106dc7894fab3f620263e99b4083b36bf9e8 (patch)
tree2a3554cf7bfabfeee0cc56ca58b04773a902cb76 /widget/windows/nsImageClipboard.h
parent0b6d9a47051be9ef4d064c6f7c60717da91d0bc2 (diff)
downloadUXP-6992106dc7894fab3f620263e99b4083b36bf9e8.tar
UXP-6992106dc7894fab3f620263e99b4083b36bf9e8.tar.gz
UXP-6992106dc7894fab3f620263e99b4083b36bf9e8.tar.lz
UXP-6992106dc7894fab3f620263e99b4083b36bf9e8.tar.xz
UXP-6992106dc7894fab3f620263e99b4083b36bf9e8.zip
Use existing image decoders to handle clipboard BMP data.
This gets rid of the old nsImageClipboard widget code in favor of using the nsBMPDecoder in imglib.
Diffstat (limited to 'widget/windows/nsImageClipboard.h')
-rw-r--r--widget/windows/nsImageClipboard.h93
1 files changed, 0 insertions, 93 deletions
diff --git a/widget/windows/nsImageClipboard.h b/widget/windows/nsImageClipboard.h
deleted file mode 100644
index 25b33cc56..000000000
--- a/widget/windows/nsImageClipboard.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef nsImageClipboard_h
-#define nsImageClipboard_h
-
-/* Things To Do 11/8/00
-
-Check image metrics, can we support them? Do we need to?
-Any other render format? HTML?
-
-*/
-
-#include "nsError.h"
-#include <windows.h>
-
-#include "nsCOMPtr.h"
-#include "imgIContainer.h"
-#include "nsIInputStream.h"
-
-
-//
-// nsImageToClipboard
-//
-// A utility class that takes an imgIContainer and does all the bitmap magic
-// to allow us to put it on the clipboard
-//
-class nsImageToClipboard
-{
-public:
- nsImageToClipboard(imgIContainer* aInImage, bool aWantDIBV5 = true);
- ~nsImageToClipboard();
-
- // Call to get the actual bits that go on the clipboard. If |nullptr|, the
- // setup operations have failed.
- //
- // NOTE: The caller owns the handle and must delete it with ::GlobalRelease()
- nsresult GetPicture ( HANDLE* outBits ) ;
-
-private:
-
- // Computes # of bytes needed by a bitmap with the specified attributes.
- int32_t CalcSize(int32_t aHeight, int32_t aColors, WORD aBitsPerPixel, int32_t aSpanBytes);
- int32_t CalcSpanLength(uint32_t aWidth, uint32_t aBitCount);
-
- // Do the work
- nsresult CreateFromImage ( imgIContainer* inImage, HANDLE* outBitmap );
-
- nsCOMPtr<imgIContainer> mImage; // the image we're working with
- bool mWantDIBV5;
-
-}; // class nsImageToClipboard
-
-
-struct bitFields {
- uint32_t red;
- uint32_t green;
- uint32_t blue;
- uint8_t redLeftShift;
- uint8_t redRightShift;
- uint8_t greenLeftShift;
- uint8_t greenRightShift;
- uint8_t blueLeftShift;
- uint8_t blueRightShift;
-};
-
-//
-// nsImageFromClipboard
-//
-// A utility class that takes a DIB from the win32 clipboard and does
-// all the bitmap magic to convert it to a PNG or a JPEG in the form of a nsIInputStream
-//
-class nsImageFromClipboard
-{
-public:
- nsImageFromClipboard () ;
- ~nsImageFromClipboard ( ) ;
-
- // Retrieve the newly created image
- nsresult GetEncodedImageStream (unsigned char * aClipboardData, const char * aMIMEFormat, nsIInputStream** outImage);
-
-private:
-
- void InvertRows(unsigned char * aInitialBuffer, uint32_t aSizeOfBuffer, uint32_t aNumBytesPerRow);
- nsresult ConvertColorBitMap(unsigned char * aInputBuffer, PBITMAPINFO pBitMapInfo, unsigned char * aOutBuffer);
- void CalcBitmask(uint32_t aMask, uint8_t& aBegin, uint8_t& aLength);
- void CalcBitShift(bitFields * aColorMask);
-
-}; // nsImageFromClipboard
-
-#endif