summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/awt/XToolkitExperimental.idl
blob: c26d916af6b45952d99c95d354ca8fbcd104a05f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * Copyright 2012 LibreOffice contributors.
 *
 * 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 __com_sun_star_awt_XToolkitExperimental_idl__
#define __com_sun_star_awt_XToolkitExperimental_idl__

#include <com/sun/star/awt/XToolkit.idl>

module com {  module sun {  module star {  module awt {

/** Work in progress, don't use unless you know what you are doing.
 */

interface XToolkitExperimental: XToolkit
{
  /** Create a bitmap device using a byte buffer allocated outside of UNO territory.
   *
   *  @returns the device
   *
   *  @param addressOfMemoryBufferForSharedArrayWrapper is the address of a
   *  (C++) object the exact type of which is to be determined, but the point
   *  is that it will then be rewrapped into a boost::shared_array of bytes to
   *  be passed to the basebmp code. shared_array has its own style of
   *  reference counting, naturally not related to UNO's or Java's, so lots of
   *  fun stuff to take care of. I won't bother complicating stuff with
   *  XUnoTunnel here (if it would even be possible to use it), this isn't in
   *  any way intended to be "generic" anyway, but is experimental work in
   *  progress, indented just for Android so far, and probably for iOS, too.
   */

  com::sun::star::awt::XDevice createScreenCompatibleDeviceUsingBuffer( [in] long Width,
                                                                        [in] long Height,
                                                                        [in] long ScaleNumerator,
                                                                        [in] long ScaleDenominator,
                                                                        [in] long XOffset,
                                                                        [in] long YOffset,
                                                                        [in] hyper AddressOfMemoryBufferForSharedArrayWrapper );
};

}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */