Page 3 of 11 FirstFirst 12345 ... LastLast
Results 21 to 30 of 110

Thread: Cairo Proposed To Become Part Of ISO C++

  1. #21
    Join Date
    Nov 2007
    Posts
    1,024

    Default

    Cairo is not something the committee is actually planning to incorporate. It's just something they're investigating. You know, that thing that rational people do _before_ making any kind of decision for or against.

    It's desired by some to have a standard basic drawing, input, and windowing library provided with C++ implementations (not part of the core standard library) since "hello world" on a text console is no longer a great starting point for developers in 2014. Cairo came up in mailing list discussions and so now it's being looked at, but it's very unlikely it'll be chosen as a basis given that it lacks all of the other basic necessities of a GUI library.

    The committee is quite well aware of all the options and existing solutions including the OS-specific ones, Qt, and so on. The goal is not to replace those, but to make it so that every C++ compiler on a graphical platform can be expected to ship with a well-known and compatible library capable of basic graphical I/O. Something like a stripped-down Cinder is the original motivating example.

    Here is the original paper on the intent of the "lightweight drawing library" (which yes, is intended to be more than just drawing; displaying a window, showing text, and supporting drag-and-drop are all listed as necessities under the Requirements bullet points).

  2. #22
    Join Date
    Jan 2011
    Posts
    1,287

    Default

    Quote Originally Posted by LightBit View Post
    File is not screen!
    Most people don't have telepathic ability to read files from disk or memory.
    It is still drawing. That's the point. I'm not against standardizing drawing, but just pointing out that drawing doesn't imply the use of a screen. Displaying requires a screen, not drawing.

    Quote Originally Posted by Marc Driftmeyer View Post
    I see this as a desperate attempt to gain public exposure and help with heavy lifting for Cairo.

    The production of that project has steadily declined for the past year. Meanwhile, a project that uses Cairo [amidst countless], Poppler, is blooming with activity.

    How about Poppler, Inkscape and a few others pitch in and bring Cairo up to meet it's lofty aims, sans illogical adoption into the ISO C++ Specification.
    Except that doesn't make sense, because it wasn't Cairo proposing this, but the other way around.

  3. #23
    Join Date
    Nov 2012
    Posts
    15

    Default risk to differ

    Quote Originally Posted by silix View Post
    Even as far as STL goes, I am not quite sure that should be there as well.
    especially given that one often writes his own container classes - or anyway uses different ones
    if you use Qt for instance, chances are you're already using qt's own classes rather than the stl ones..
    Actually, exactly because the C++ provides the STL one should never write one's own container class without a very good reason. Usually the compiler comes with a well debugged implementation that can save you a lot of time. IMHO even if the STL doesn't provided what you need, its is always a good idea to base ones own implementation on an STL container. Besides, the advantage of a standard is, you need to learn it only once.

    It's another story if you are already in QT land, then you would of course use Qt containers and probably base new containers on these. But I think it would still be a bad idea to implement a new container from scratch, unless you have very specific needs.

  4. #24
    Join Date
    Feb 2013
    Posts
    379

    Default

    Quote Originally Posted by Illasera View Post
    Here is the thing, you can say that on ANYTHING, Next thing you know, you will include "boost" as part of the standard.
    Most new features are pulled right out of boost...

  5. #25
    Join Date
    Jan 2009
    Posts
    1,495

    Default

    Quote Originally Posted by silix View Post
    POSIX is an operating system specification - and specifically one for Unix, hence the X in the acronym - C is a language and associated runtime, as such it shall be os agnostic...
    if you make posix a part of the language standard you mandate for things such as (for instance) signals, or fork/exec that other perfectly working OS's dont have because they're inherent to the unix process model - or are you advocating every Os to be a clone of unix?

    Of course to have drawing standardized seems like a nice thing , BUT wouldn't fit with the intended scope and goal of C and C++ as languages (to remain as lean as possible so as to allow for anything upper level to be built and used upon it without tying itself to anything in particular)

    OTOH, why a somewhat "arbitrary" library like Cairo (worse, a C++ified (sic) version of it)?
    why not, for instance, AGG (which is C++ and is in widespread use in non - unix systems too)?
    or OpenVG, which is at least backed by an industry consortium of sorts and, unlike cairo, has hw-accelerated implementations in existence?
    Surprisingly to me at least is that openvg has very little to no hardware adoption. The implementations that exist are apparently software.I read about this on the fxos mailing lists FYI.
    IOW, it's dead Jim.

  6. #26
    Join Date
    Jun 2010
    Posts
    171

    Default

    Incorporating a library like cairo in the C++ standard would be a big mistake, it's already becoming obsolete and is not very suited for full GPU implemented rendering on multiple platforms. The standard libraries of C and C++ should remain as clean and lean as possible, leaving out any platform or architecture specific utilities. Lots of libraries also tend to do "everything", but doing nothing very well. Just take a look at the massive feature set of libraries like SDL. They should have focused solely on window and event management and doing it very well, instead of having an impressive feature list consisting mostly of useless implementations.

  7. #27
    Join Date
    Apr 2013
    Posts
    400

    Default

    Quote Originally Posted by LightBit View Post
    I also think it was mistake not to include POSIX into ISO C.
    iso c targets all systems including windows, while posix doesn't

  8. #28
    Join Date
    Apr 2013
    Posts
    400

    Default

    Quote Originally Posted by Illasera View Post
    For the reason that people may WANT something from it, Does it have anything to do with the language itself or the c++ committee? I am not sure.
    so why aren't you whining about including printf in standard c library ? some people WANT printf - check. let's whine

  9. #29
    Join Date
    Jun 2011
    Posts
    145

    Default

    Quote Originally Posted by gerddie View Post
    Actually, exactly because the C++ provides the STL one should never write one's own container class without a very good reason. Usually the compiler comes with a well debugged implementation that can save you a lot of time. IMHO even if the STL doesn't provided what you need, its is always a good idea to base ones own implementation on an STL container. Besides, the advantage of a standard is, you need to learn it only once.

    It's another story if you are already in QT land, then you would of course use Qt containers and probably base new containers on these. But I think it would still be a bad idea to implement a new container from scratch, unless you have very specific needs.
    In theory, I agree with you. In practice, I don't. STL containers are not safe to pass across DLL boundaries without great care, and are not designed to be inheritable, so they're often not practical to use.

  10. #30
    Join Date
    Apr 2013
    Posts
    400

    Default

    Quote Originally Posted by silix View Post
    Of course to have drawing standardized seems like a nice thing , BUT wouldn't fit with the intended scope and goal of C and C++ as languages (to remain as lean as possible so as to allow for anything upper level to be built and used upon it without tying itself to anything in particular)
    there is no such goal for c++, you live in fantasy world
    Quote Originally Posted by silix View Post
    OTOH, why a somewhat "arbitrary" library like Cairo (worse, a C++ified (sic) version of it)?
    why not, for instance, AGG (which is C++ and is in widespread use in non - unix systems too)?
    or OpenVG, which is at least backed by an industry consortium of sorts and, unlike cairo, has hw-accelerated implementations in existence?
    it is one of possible proposals at early stage. feel free to submit another and accept feedback. process is open for everyone.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •