2009-06-17 Jeffrey Stedfast <fejj@novell.com>
[moon.git] / src / tilesource.h
blob5c38e0d657401a59077e76fc597cf5003a64b7d9
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3 * tilesource.h
5 * Contact:
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__
17 #include <stdio.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 */
24 /* @CallInitialize */
25 class MultiScaleTileSource : public DependencyObject {
26 protected:
27 long imageWidth; //width of the DeepZoom Image
28 long imageHeight;
29 int tileWidth; //width of the tiles
30 int tileHeight;
31 int tileOverlap; //how much the tiles overlap
33 virtual ~MultiScaleTileSource () {}
35 public:
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 */
52 int GetTileWidth ();
53 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
54 void SetTileWidth (int width);
56 /* @GenerateCBinding,GeneratePInvoke,ManagedAccess=Internal */
57 int GetTileHeight ();
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__ */