1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
6 * Moonlight List (moonlight-list@lists.ximian.com)
8 * Copyright 2007-2008 Novell, Inc. (http://www.novell.com)
10 * See the LICENSE file included with the distribution for details.
14 #ifndef __TILESOURCE_H__
15 #define __TILESOURCE_H__
18 #include "dependencyobject.h"
20 /* @CBindingRequisite */
21 typedef bool (*get_image_uri_func
) (int level
, int posX
, int posY
, Uri
*uri
, void* user_data
);
23 /* @Version=2,Namespace=System.Windows.Media */
25 class MultiScaleTileSource
: public DependencyObject
{
27 long imageWidth
; //width of the DeepZoom Image
29 int tileWidth
; //width of the tiles
31 int tileOverlap
; //how much the tiles overlap
33 virtual ~MultiScaleTileSource () {}
36 get_image_uri_func get_tile_func
;
38 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
39 MultiScaleTileSource ();
41 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
42 long GetImageWidth ();
43 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
44 void SetImageWidth (long width
);
46 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
47 long GetImageHeight ();
48 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
49 void SetImageHeight (long height
);
51 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
53 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
54 void SetTileWidth (int width
);
56 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
58 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
59 void SetTileHeight (int height
);
61 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
62 int GetTileOverlap ();
63 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
64 void SetTileOverlap (int overlap
);
66 /* @GenerateCBinding,GeneratePInvoke */
67 void set_image_uri_func (get_image_uri_func func
);
70 #endif /* __TILESOURCE_H__ */