All pastes #792541 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-21 14:36 UTC
rendered paste body
dj2	andrunko, i gather with your last commit you aren't going to be removing evas references from ecore_imf
	andrunko	dj2: yeah, that was the idea, the problem is, we want the framework to support effects like transparency, slide, ... and that is only possible if we have a pointer to evas, on input methods like hildon-input-method we can get the x_window using the evas
	andrunko	but if you have a better idea, we can change it for sure
	andrunko	check http://andrunko.blogspot.com/2007/11/iphone-like-keyboard-on-canola.html to see what i mean
	andrunko	I was thinking you can move the support to ewl engine
	andrunko	so the engine who knows evas will work
	dj2	and why not leaving the pointer as a void * then a module that expects evas can cast to that
	dj2	and, our input doesn't come in through evas, it's through the x11 enginge
	*	ravenlock has quit ("He's dead, Jim.")
	dj2	which doens't know about evas
	andrunko	all modules expect evas, that is the problem, who is using the module knows nothing about the module internals
	andrunko	all modules work the same
	andrunko	i could let the void *, but you still would have to pass an evas pointer
	dj2	and you're limiting yourself that all modules _require_ evas
	andrunko	with evas, you can get the ecore_evas, thus getting the x_window, win32_window, ...
	andrunko	so all modules requires the evas
	dj2	we dont' use ecore-evas
	dj2	so, no, you can't get the ecore_evas when using ewl
	andrunko	if you have evas you can
	andrunko	ecore_evas_ecore_evas_get(evas)
	dj2	we don't use it
	dj2	we use evas directly and ecore_x directly
	andrunko	that's a problem
	dj2	ewl _doesn't use_ ecore_evas
	dj2	it's a problem with the design of ecore_imf
	dj2	especially when we split ecore
	dj2	as the plan is to make evas depend on ecore
	dj2	which can't happen if ecore_imf has references to evas
	andrunko	on ecore, not ecore_imf
	andrunko	evas -> ecore
	andrunko	ecore_imf -> evas, ecore
	dj2	the ecore_imf won't stay in ecore
	dj2	it will be split out
	dj2	the original plan was to leave teh framework in
	andrunko	hmmm
	dj2	and you've now limited yourself to just ecore_evas
	andrunko	i can't think of another idea to make it work without passing the evas pointer
	dj2	so it shoudl have been named ecore_evas_imf
	dj2	instead of ecore
	dj2	as it isn't generic ecore
	andrunko	in gtk, it passes a gtkwidget, qt an qwidget, xim, a x_window
	dj2	then pass a void * and let the module cast to what it needs
	andrunko	i would really appreciate if you came up with a better idea
	andrunko	but we discussed here yesterday
	dj2	um, i dno't have time to design your api for you
	andrunko	and couldn't find a better one
	dj2	this is why api design is hard
	andrunko	but the problem here is just with ewl
	andrunko	e and etk works fine
	andrunko	canola widgets also
	dj2	the problem will be with any app that doesn't use ecore_evsa
	dj2	not everything uses ecore_evas
	dj2	so it isn't ecore_imf it's ecore_evas_imf
	dj2	which is what it should have been named
	andrunko	i can change it, if that's the problem
	andrunko	i would really like to make it in such a way that ewl could use it
	dj2	it's one problem, but in general it should be ecore_imf and not need evas
	andrunko	but to make keyboards like the iphone keyboard, the hildon-input method
	dj2	then remove the evas requirements
	andrunko	we need evas
	dj2	at the module level
	dj2	not the api level
	dj2	if i use the hildon moudle sure, pass in an evas
	andrunko	but the application using it knows nothing about the modu
	andrunko	module
	dj2	if i use the foobar module maybe it takes an x window
	andrunko	that's the problem
	andrunko	all modules should work the same way
	dj2	so, maybe it should
	dj2	then it isn't going to work
	andrunko	i will take a look at the ewl code, and see what i can do
	andrunko	but all modules will need to pass the same data (either evas, x_window, whatever)
	dj2	if it require ecore_evas it won't work
	dj2	then it shoudl be ecore_x_window
	dj2	but evne that isn't right
	dj2	as what about on windows?
	andrunko	but it wouldn't work for windows
	andrunko	exactly
	andrunko	that's why i am using ecore_evas, the only thing that abstracts windows, x11, ...
	dj2	and not everyone uses ecore_evas