VirtualBox

Changeset 41083 in vbox for trunk/include/VBox/GuestHost


Ignore:
Timestamp:
Apr 27, 2012 12:14:34 PM (13 years ago)
Author:
vboxsync
Message:

GA: Bitmap clipboard support (darwin). Thanks to François Revol (mmu_man).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/GuestHost/clipboard-helper.h

    r28800 r41083  
    9292int vboxClipboardUtf16WinToLin(PRTUTF16 pwszSrc, size_t cwSrc, PRTUTF16 pu16Dest, size_t cwDest);
    9393
     94#pragma pack(1)
     95/**
     96 * Bitmap File Header. Official win32 name is BITMAPFILEHEADER
     97 * Always Little Endian.
     98 */
     99typedef struct BMFILEHEADER
     100{
     101    uint16_t    u16Type;
     102    uint32_t    u32Size;
     103    uint16_t    u16Reserved1;
     104    uint16_t    u16Reserved2;
     105    uint32_t    u32OffBits;
     106} BMFILEHEADER;
     107/** Pointer to a BMFILEHEADER structure. */
     108typedef BMFILEHEADER *PBMFILEHEADER;
     109/** BMP file magic number */
     110#define BITMAPHEADERMAGIC (RT_H2LE_U16_C(0x4d42))
     111
     112/**
     113 * Bitmap Info Header. Official win32 name is BITMAPINFOHEADER
     114 * Always Little Endian.
     115 */
     116typedef struct BMINFOHEADER
     117{
     118    uint32_t    u32Size;
     119    uint32_t    u32Width;
     120    uint32_t    u32Height;
     121    uint16_t    u16Planes;
     122    uint16_t    u16BitCount;
     123    uint32_t    u32Compression;
     124    uint32_t    u32SizeImage;
     125    uint32_t    u32XBitsPerMeter;
     126    uint32_t    u32YBitsPerMeter;
     127    uint32_t    u32ClrUsed;
     128    uint32_t    u32ClrImportant;
     129} BMINFOHEADER;
     130/** Pointer to a BMINFOHEADER structure. */
     131typedef BMINFOHEADER *PBMINFOHEADER;
     132#pragma pack()
     133
     134/**
     135 * Convert CF_DIB data to full BMP data by prepending the BM header.
     136 * Allocates with RTMemAlloc.
     137 *
     138 * @returns VBox status code
     139 *
     140 * @param   pSrc          DIB data to convert
     141 * @param   cbSrc         Size of the DIB data to convert in bytes
     142 * @param   ppDest        Where to store the pointer to the buffer for the destination data
     143 * @param   pcbDest       Pointer to the size of the buffer for the destination data in bytes
     144 */
     145int vboxClipboardDibToBmp(const void *pSrc, size_t cbSrc, void **ppDest, size_t *pcbDest);
     146
     147/**
     148 * Get the address and size of CF_DIB data in a full BMP data in the input buffer.
     149 * Does not do any allocation.
     150 *
     151 * @returns VBox status code
     152 *
     153 * @param   pSrc          BMP data to convert
     154 * @param   cbSrc         Size of the BMP data to convert in bytes
     155 * @param   ppDest        Where to store the pointer to the destination data
     156 * @param   pcbDest       Pointer to the size of the destination data in bytes
     157 */
     158int vboxClipboardBmpGetDib(const void *pSrc, size_t cbSrc, const void **ppDest, size_t *pcbDest);
     159
     160
    94161#endif
    95162
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette