Giter Club home page Giter Club logo

sysdrawing-coregraphics's Introduction

This module contains an implementation of the System.Drawing API using Apple's CoreGraphics engine. With the exception of a couple of APIs to integrate into the native platform, the API is identical to what developers are used to.

This works with both iOS and OSX, using Xamarin.Mac Unified and Xamarin.iOS Unified.

You will need a checkout of Mono as a peer module to this module.

Open the solution and build

Layout

The solution references code from mono and corefx, and expects Mono with submodules to be checked out as a peer directory to this directory.

The Shared project contains most of the code that is used by both MacOS and iOS, and also references the mono and corefx code.

The MacShared project contains the Mac specific bits, and is later consume by the Mac target, but in the future all three variations of mac projects that we support (.NET Desktop, Modern)

sysdrawing-coregraphics's People

Contributors

chamons avatar filipnavara avatar johnconners avatar kjpou1 avatar migueldeicaza avatar sandyarmstrong avatar spouliot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sysdrawing-coregraphics's Issues

This is a very important project, why it is being abandoned?

This is a very important project, why it is being abandoned? Not only it is still incomplete, but it has not been migrated to the 64 bit stack necessary to make crossplatform applications on OS X, iOS, Android, Linux and Windows Phone using the same System.Drawing calls.

Example does not compile in latest Xamarin MonoMac

Trying to compile DrawStringTest, I get this error:

.../sysdrawing-coregraphics/Samples/MonoMac/DrawStringTest/DrawingView.cs(33,33): Error CS1729: The type System.Drawing.Graphics' does not contain a constructor that takes0' arguments (CS1729) (DrawStringTest)

Note that the project initially didn't get even this far, because the "using System.Drawing" line failed since System.Drawing wasn't included in the references. So I added it. But now I wonder whether I added the wrong thing.

So possible the real problem here is that the README.md needs to include instructions on how to use this library, for newbies like me?

System.Drawing.Graphics.BeginContainer not implemented

I get error using DrawImageInContainer, and specifically when I use System.Drawing.Graphics.BeginContainer:

[FAIL] DrawImageInContainer1 : System.NotImplementedException : The requested feature is not implemented at System.Drawing.Graphics.BeginContainer (Rectangle dstRect, Rectangle srcRect, GraphicsUnit unit) [0x00001] in /Projects/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs:1047

I checked and it is not implemented yet:

        public GraphicsContainer BeginContainer ()
        {
            throw new NotImplementedException ();       
        }

        public GraphicsContainer BeginContainer (Rectangle dstRect, Rectangle srcRect, GraphicsUnit unit)
        {
            throw new NotImplementedException ();       
        }

        public GraphicsContainer BeginContainer (RectangleF dstRect, RectangleF srcRect, GraphicsUnit unit)
        {
            throw new NotImplementedException ();       
        }

        public void EndContainer (GraphicsContainer container)
        {
            throw new NotImplementedException ();
        }

Any hope to see this implemented?

There are also a total of 47 not implemented methods in the library:

/sysdrawing-coregraphics-master/System.Drawing/Color.cs (56, 5):                throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Color.cs (62, 5):                throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Color.cs (68, 5):                throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Color.cs (74, 5):                throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Color.cs (200, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (984, 4):            throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1042, 4):           throw new NotImplementedException ();       
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1047, 4):           throw new NotImplementedException ();       
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1052, 4):           throw new NotImplementedException ();       
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1057, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1097, 5):               throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1100, 5):               throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1125, 5):               throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1128, 5):               throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1181, 5):               throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1184, 5):               throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1443, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1452, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1461, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics.cs (1617, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Image.cs (209, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Image.cs (214, 4):           throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Region.cs (282, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Region.cs (313, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/StringFormat.cs (122, 4):            throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (109, 5):              throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (170, 5):              throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (356, 5):              throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (409, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (429, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (509, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (524, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (539, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (576, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (697, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (710, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (723, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawImage.cs (735, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing.Imaging/ImageAttributes.cs (92, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing.Imaging/ImageAttributes.cs (99, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Font.cs (99, 4):         throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Bitmap.cs (951, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawString.cs (31, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawString.cs (51, 4):          throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawString.cs (110, 4):         throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawString.cs (115, 4):         throw new NotImplementedException ();
/sysdrawing-coregraphics-master/System.Drawing/Graphics-DrawString.cs (130, 4):         throw new NotImplementedException ();

Is there a planned timeline for the implementation of those?

Referencing System.Drawing.dll in Xamarin.iOS requires Xamarin.Mac

Hi,

I've successfully downloaded the project, mono and corefx and built it. I've created a simple Xamarin.iOS app, added 1 package which uses System.Drawing and referenced the System.Drawing.dll in folder bin/ios .
During compilation of my project i get:

MTOUCH: warning MT0136: Cannot find the assembly 'Xamarin.Mac, Version=0.0.0.0, ...'
MTOUCH: error MT2001: Could not link assemblies. Reason: Error while processing references of 'test-app...'

Isn't it weird that it looks for Xamarin.Mac when compiling for Xamarin.iOS? Referencing the Xamarin.Mac.dll directly from system library folder gives new error, saying that symbols are defined in both Xamarin.iOS and Xamarin.Mac.

missing simple classes, needed for MonoMac.Windows.Form

MonoMac.Windows.Form ( git://github.com/Clancey/MonoMac.Windows.Form.git ) looks interesting, and seems to try to do similar thing as sysdrawing-coregraphics. It seems to be earlier, and depends on mono's system.drawing. So I tried switching it over to sysdrawing-coregraphics , and found that sysdrawing-coregraphics is missing a few simple classes:

Color' could not be found. Are you missing an assembly reference?
Color' does not exist in the namespace `System.Drawing'. Are you missing an assembly reference?
ContentAlignment' could not be found. Are you missing an assembly reference?
Design' does not exist in the namespace `System.Drawing'. Are you missing an assembly reference?
Point' could not be found. Are you missing an assembly reference?
PointF' does not exist in the namespace `System.Drawing'. Are you missing an assembly reference?
Rectangle' could not be found. Are you missing an assembly reference?
RectangleF' could not be found. Are you missing an assembly reference?
RectangleF' does not exist in the namespace `System.Drawing'. Are you missing an assembly reference?
Size' could not be found. Are you missing an assembly reference?
Size' does not exist in the namespace `System.Drawing'. Are you missing an assembly reference?
SizeF' could not be found. Are you missing an assembly reference?
SizeF' does not exist in the namespace `System.Drawing'. Are you missing an assembly reference?

I looked at the usage of Design, and it seems to be not needed. The other should be a simple copy from mono's system.drawing ?

Integration branch

We should switch the shared code, and linked code to be a shared project, to not have to maintain two lists of files in two projects.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.